当我第一次设置我的网站时,我决定将index.html
添加到网址,但现在我遇到问题,当人们删除index.html
并尝试访问该文件夹时...
例如:
RewriteRule ^archives/([0-9]+)/([0-9]+)/index.html archive.php?mid=$1-$2
因此当archives/07/2009/
导致错误时,我该如何避免此错误?
干杯
答案 0 :(得分:1)
使用可选的index.html
:
RewriteRule ^archives/([0-9]+)/([0-9]+)/(index\.html)?$ archive.php?mid=$1-$2
但是我建议你只使用其中一种符号,有或没有尾随index.html
,如果错误则重定向:
# remove index.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/)?index\.html$ /$1 [L,R=301]
# add index.html
RewriteRule (.*)/$ $1/index.html [L,R=301]
答案 1 :(得分:0)
在index.html
:
RewriteRule
可选项
RewriteRule ^archives/([0-9]+)/([0-9]+)/(?:index\.html)?$ archive.php?mid=$1-$2
此外,在原始重写规则中,您忘记了字符串锚$
的结尾。我在上面添加了它。