3

我对 mod_rewrite 很满意。我的第一行像冠军一样工作,但第二部分拒绝合作

RewriteRule ^(.*).html$ $1.php
RewriteRule ^(.*).shtml$ $1.php [R=301,L]

.shtml部分非常失败并且出现 404 - 没有我的自定义 404 页面。这应该合并为一个规则吗?我应该辞掉工作,让他们雇一只猴子来代替我吗?有没有人对此有解决方案?

谢谢!

4

1 回答 1

2

假设您打算将两者都.shtml重定向.html.php...

这些都应该组合成一个规则,问题看起来是两者都匹配,因为.之前未转义.html的字符代表“任何字符”,因此也匹配shtml

该模式\.s?html将匹配文字.,后跟一个可选 s的,并以 . 结尾html

RewriteEngine On
RewriteRule ^(.*)\.s?html$ $1.php [R=301,L]
于 2012-12-13T20:05:59.477 回答