0

基本的に、私は現在これを.htaccessファイル内に持っています。

インデックスとデフォルトのすべてのバリエーションを私のホームページにリダイレクトします。これは私にいくつかの問題を引き起こしています。インデックスのすべてのバリエーションをリダイレクトし、デフォルトで 404 ページにします。404.html

# Redirect all variations of index and default to www.domain.com/
# exception of index.php which should not be redirect
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(default|index)\.(s?html?|pl|aspx?|cfm)[\s]+ [NC]
RewriteRule ^ /? [R=301,L]

私はこれをやってみましたが、それが最善の方法であるかどうかはわかりません:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(default|index)\.(s?html?|pl|aspx?|cfm)[\s]+ [NC]
RewriteRule ^ - [L,R=404]

これを行うためにコードを変更するにはどうすればよいですか? [R=301,L]どうにかして代わりに 404 に変更する必要がありますか?

4

1 に答える 1

2

You can use R=404 but in order to have your custom page erved, you need to use ErrorDocuemnt:

ErrorDocument 404 /404.html

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(default|index)\.(s?html?|pl|aspx?|cfm)[\s]+ [NC]
RewriteRule ^ - [L,R=404]

If you don't actually want a "404" error response, then you don't need the R flag at all:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(default|index)\.(s?html?|pl|aspx?|cfm)[\s]+ [NC]
RewriteRule ^ /404.html [L]
于 2013-10-09T01:00:34.803 に答える