私はindex.phpファイルをルート/にリダイレクトしようとしています、私は周りを検索して、次のようなコードのいくつかのスニペットを見つけました:
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.domain.com/$1 [R=301,L]
ただし、これはサブドメインでは機能しません。以下に例を示します。
上記のhtaccessを調整してサブドメインを考慮して適切な場所にリダイレクトする方法を知っている人はいますか?
例えばユーザーが http://subdomain.domain.com/index.php にアクセスした場合、ユーザーは http://subdomain.domain.com/ にアクセスします
ボーナスポイント:
このルールをすべてのフォルダーに適用できるhtaccessはありますか?
そのため、index.phpを持つフォルダーの場合、ルートにリダイレクトされます(例: http://subdomain.domain.com/folder1/folder2/index.php は自動的に移動します http://subdomain.domain.com/folder1/folder2/
これを行う:
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ /$1 [R=301,L]
@ ThinkingMonkey's answer に基づいて次のコードを作成しました
RewriteRule ^(.*)index\.(php|html?)$ /$1 [R=301,NC,L]
index.php、index.htmまたはindex.htmlで終わるURIを/にリダイレクトします。サブディレクトリでも動作します。
また、NC
フラグにも注意してください。大文字と小文字を区別しません。そのため、URIがINDEX.PHPのように大文字であっても機能します。