我对mod_rewrite很绿。我的第一行像冠军一样工作,但第二部分拒绝合作
RewriteRule ^(.*).html$ $1.php
RewriteRule ^(.*).shtml$ $1.php [R=301,L]
.shtml
部分失败得非常好,404 - 没有我的自定义 404 页面。这是否应该合并为一个规则?我应该辞掉工作,让他们雇一只猴子来代替我吗?有没有人对此有解决方案?
谢谢!
假设您打算将.shtml
和.html
重定向到.php
...
这些都应该合并为一个规则,问题似乎是两者都匹配,因为 .html
之前的未转义.
代表"任何字符",因此也匹配shtml
.
模式.s?html
将匹配文字.
,后跟一个可选的s
,并以html
结尾。
RewriteEngine On
RewriteRule ^(.*).s?html$ $1.php [R=301,L]