web-dev-qa-db-ja.com

index。(html | php)が存在しない場合は、htaccess経由でURLにリダイレクトします

Index.htmlまたはindex.phpファイルがホームディレクトリ内に存在しない場合、(書き換え条件を介して)ユーザーを別のURLにリダイレクトしてヘルプを求めることはできますか?

ありがとうグレッグ

1
gregory

-fモードのRewriteCondは、ファイルの存在を確認できます。これを使用して、ファイルの存在をテストできます。たとえば、ユーザーがインデックスのないディレクトリを要求した場合、次の行に沿って何かを使用してリダイレクトできます。

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME}/index\.(html|php) !-f
RewriteRule ^ http://example.com/something-blew-up.html [R=302]
0
Shane Madden

[L]フラグを使用する必要があります。

http://httpd.Apache.org/docs/2.2/rewrite/flags.html#flag_l

同様のケースがここに示されています:

https://stackoverflow.com/questions/2118898/if-no-file-rewrite-url

0
Stephan