• 締切済み

/でアクセスされた際にindex.htmlを付加

http://example.com/のようにスラッシュで終わるアドレスにアクセスされた際に http://example.com/index.htmlのようにindex.htmlにリダイレクトさせる場合 htaccessをどのように書けばいいのでしょうか? 現在の設定は以下のようになっています RewriteEngine on RewriteCond %{THE_REQUEST} ^(.*)/ RewriteRule ^(.*)$ http://example.com/index.html [R=301]

みんなの回答

noname#130824
noname#130824
回答No.3

RewriteEngine on RewriteRule ^$ http://example.com/index.html [R=301]

参考URL:
http://webings.net/htaccess/
回答No.2

こんばんは。 もしくは、 RewriteEngine on RewriteRule ^$ /index.html [R=301]

  • mindatg
  • ベストアンサー率48% (110/227)
回答No.1

1行だけです。 DirectoryIndex index.html

関連するQ&A

  • 301リダイレクトの例外処理

    WEBサイト全体に 拡張子がhtmとhtmlが混在していて管理がわずらわしいので、 .htaccessで下記のような設定をしました。 ドメイン直下に.htaccessを置いているので、サイト全体でこの設定が有効に なっているのですが、あるフォルダだけこれが適用されないように 設定をしたいと思います。 いろいろやってみたのですが、今ひとつ正常に動いてくれません。 どのようにすればいいのでしょうか。 -------------------------------------------------------------- Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^XXX.jp RewriteRule ^(.*)$ http://www.XXX.jp/$1 [R=301,L] Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://www.XXX.jp/$1 [R=301,L] Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.htm RewriteRule ^(.*)index.htm$ http://www.XXX.jp/$1 [R=301,L] -------------------------------------------------------------- サーバーはApache/1.3.42 .htaccessファイルを置いているのは、ドメイン直下です。

  • SSLのリダイレクトについて

    sslのリダイレクトの作業を急いでやらないといけないのですが、sslに関しては全くの初心者なので調べながらいろいろやってみましたがどうしてもうまくいかず困っています。。 Wordpressでサイトを作成していてドメイン直下の.htaccessにリダイレクトの記述をしています。 サーバーはGMOのiCLUSTAで、sslはジオトラストです。 http://○○○.jp/ にアクセスした場合に、 https://ssl.○○○.jp/ へリダイレクトされるようにしたいです。 .htaccessの記述内容です # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress RewriteEngine on RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://ssl.○○○.jp/$1 [R=301,L] この記述をしていますが、リダイレクトされたりされなかったりの不安定な状態です。 されないことの方が多いのでどの条件で動いているのかがわかりません。 RewriteCond %{HTTPS} on を、 RewriteCond %{HTTPS} off にするとリダイレクトされますが、処理がループされていますという表示が出てしまいます。 どのような記述をすればうまくいくのでしょうか?

  • htaccessでindex.htmlありに統一

    「http://hoge.jp/web/」にアクセスがあった場合に 「http://hoge.jp/web/index.html」にリダイレクトさせようと考えています。 調べたところ.htaccessに下記の記述でできるという事まではわかったのですが「Internal Server Error」になってしまいます。 何が原因なんでしょうか? RewriteEngine on RewriteCond %{REQUEST_FILENAME} -d RewriteCond %{REQUEST_FILENAME}/index.html -f RewriteRule ^(|.*/)$ /$1index.html [R,L] 上記が解決できた場合に合わせての質問案ですが、ドメイン直下だけは「index.htmlなし」にしたいと考えてます。 http://hoge.jp/index.html ↓ http://hoge.jp/ よろしくお願いします。

  • httpからhttpsへのリダイレクト方法

    すいません、よくわかりませんので教えて下さい。.htaccessに記述してhttpにアクセス来たものをhttpsへリダイレクトしたいです。 今の状況は下記です。 AddHandler application/x-httpd-php53 .php RewriteEngine On # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(sanetsu.com) RewriteCond %{REQUEST_URI} !^/(sanetsu.com)/ RewriteRule ^(.*)$ http://www.sanetsu.com/$1 [L] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(www.burikama.com) RewriteCond %{REQUEST_URI} !^/(www.burikama.com)/ RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(burikama.com) RewriteCond %{REQUEST_URI} !^/(burikama.com)/ RewriteRule ^(.*)$ http://www.burikama.com/$1 [L] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress すいません、上記の記述をどのように変更したらhttpsへリダイレクトさせることができますでしょうか?前任のweb担当の方と連絡が付かないので教えていただけたらありがたいです。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • htaccess ユーザーエージェント 振り分け 

    htaccess でユーザーエージェント 振り分けを行いました。http://www.example.com/ 以下に htaccessを入れましたが、PCのSEO対策上問題があるでしょうか? RewriteEngine On RewriteCond %{HTTP_USER_AGENT} DoCoMo RewriteRule ^$ http://www.example.com/i/index.html [R] RewriteCond %{HTTP_USER_AGENT} J-PHONE RewriteRule ^$ http://www.example.com/s/index.html [R] RewriteCond %{HTTP_USER_AGENT} Vodafone RewriteRule ^$ http://www.example.com/s/index.html [R] RewriteCond %{HTTP_USER_AGENT} SoftBank RewriteRule ^$ http://www.example.com/s/index.html [R] RewriteCond %{HTTP_USER_AGENT} UP.Browser RewriteRule ^$ http://www.example.com/e/index.html [R]

    • ベストアンサー
    • HTML
  • .htaccessに複数の条件を書くには

    .htaccessに以下の2つの処理を書きたいのですが、 単純に空行をあけて続けて書いてよいのでしょうか。 これと、  RewriteEngine on  RewriteCond %{HTTP_HOST} ^www\.example\.com  RewriteRule (.*) http://example.com/$1 [R=301,L] これ  Redirect permanent /example/ http://example.com/ この2つを単純に、  RewriteEngine on  RewriteCond %{HTTP_HOST} ^www\.example\.com  RewriteRule (.*) http://example.com/$1 [R=301,L]  Redirect permanent /example/ http://example.com/ のように書いて大丈夫なのかということです。 初歩的な質問ですが、宜しくおねがい致します。

    • ベストアンサー
    • HTML
  • .htaccessファイル設置エラーの原因

    .htaccessファイルの設置エラーの原因についてお尋ねします。 下記の内容の.htaccessを置きたいのですが、最初の4行の ErrorDocumenet だけを入れてアップロードしていたときは問題なかったのですが、 Options +FollowSymLinksを3つ足すと、 500 Internal Server Error になりホームページが表示できなくなります。 もともと他のサーバー(CPI)で使って問題なかった内容なので、文法エラー などではないと思うのですが。 原因として可能性のあるものは何でしょうか。 ------------------------------------------------- ErrorDocument 401 http://XXX.jp/error401.html ErrorDocument 404 http://XXX.jp/error404.html ErrorDocument 403 http://XXX.jp/error403.html ErrorDocument 500 http://XXX.jp/error500.html Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^XXX.jp RewriteRule ^(.*)$ http://www.XXX.jp/$1 [R=301,L] Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://www.XXX.jp/$1 [R=301,L] Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.htm RewriteRule ^(.*)index.htm$ http://www.XXX.jp/$1 [R=301,L] ------------------------------------------------- Webサーバーはさくらインターネット、Apache/1.3.42 .htaccessファイルを置いているのは、ドメイン直下です。

  • .htaccessのRewriteRuleエラー

    PHPのフレームワークを使って、サイトを作成しているのですが、 .htaccessの設定でつまずいております。 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php 上記のコードはフレームワークを使う時の お決まりのようなコードなのだと思うのですが、 これはコピペして問題無く動作しております。 ※このコードは下記ページのものをコピペしました。 http://www.yiiframework.com/doc/guide/1.1/ja/topics.url#sec-7 しかし、この既存の.htaccessファイルに下記の通り、 www無しのアクセスをwww有りのurlに転送させるための コードを追加すると、サイト内のリンクが切れてしまいます。 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} ^mydomain.com //これを追加した RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] //これを追加した RewriteRule . index.php 記述方法が誤っているのだと思うのですが、どのように記述すれば、 正常に動くのでしょうか?

    • ベストアンサー
    • PHP
  • RewriteCondとRewriteRuleについて

    どのジャンルか迷いましたが、ここでお願いします。 ローカル環境で、トップにbbbディレクトリがあります。 bbbディレクトリの中は .htaccess index.html cccディレクトリ があり、 cccディレクトリの中は a.htmlがあります。 ¥┬index.html   └bbb┬index.html .htaccess      └ccc─a.html ここでhttp://localhost/bbb/a.htmlにアクセスすると cccディレクトリの中のa.htmlを参照するようにさせたいと思い、 .htaccessに RewriteEngine on RewriteCond $1 !^(b.html) RewriteRule ^(.*)$ ccc/$1 [L] や又は RewriteEngine on RewriteCond $1 ^(?!b.html)(.+) RewriteRule ^(.*)$ ccc/$1 [L] と書いたのですが Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. というエラーが出てしまいます・・・ RewriteEngine on RewriteCond $1 ^(a.html) RewriteRule ^(.*)$ ccc/$1 [L] と書けばちゃんと表示されるのですが、否定を用いた書き方(RewriteCond $1 !^(b.html)) だと、どこが間違っているのでしょうか?

    • ベストアンサー
    • Perl
  • 301リダイレクトを使用してURLwww有り、index.html無しで統一したい。

    お世話になります。 現在、サイトを1つ持っているのですが(仮にabcde.comとします)、SEO的な観点からこのサイトへのアクセスを最終的に【http://www.abcde.com/】に統一したいと思っています。 1)http://abcde.com/ 2)http://abcde.com/index.html 3)http://www.abcde.com/index.html 上記の1)からwww有りへの転送は以下のソースでhtaccessを使用して出来ました。 ******************************************** Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^abcde\.com RewriteRule ^(.*)$ http://www.abcde.com/$1 [R=301,L] ******************************************** 2)3)に関しましてからindex.html無しへの転送が、出来ませんでした。。。 301リダイレクトを使用してURLにwww有り、index.html無しで統一したいのですが、アドバイスいただけると幸いです。 何卒よろしくお願いいたします。

    • ベストアンサー
    • HTML