在试图了解mod_rewrite时,我添加了一个简单的重写规则:
RewriteRule ^z$ z1.html
我们的想法是让某人访问www.mysite.com/z
并让他们获得www.mysite.com/z1.html
但这不起作用。我必须把它改成
RewriteRule ^/z$ /z1.html
但是我没有在mod_rewrite规则中看到任何需要在条款前面加上“/”的内容,那么为什么第一个不起作用呢?
有点复杂,我有规则
RewriteRule ^/([^.]+)$ /1$.html
这个也不起作用,即使是“/”字符。
这里的想法是让一些人输入www.mywebsite.com/z1
并让它成为www.mywebsite.com/z1.html
。
有没有人看到这个问题?
感谢。
答案 0 :(得分:1)
如果在vhost / server config中有mod重写规则,则需要/
作为模式的一部分。第二条规则不起作用,因为您需要$1
,而不是1$
:
RewriteRule ^/([^.]+)$ /$1.html [L]