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

您可以使用R=404,但为了让您的自定义页面运行,您需要使用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]

如果您实际上并不想要“404”错误响应,那么您根本不需要该R标志:

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 回答