以下是我的配置:
<rule>
<from>^/xf/(.*)$</from>
<to>/xfDetail?id=$1</to>
</rule>
我访问过的网址是http://mydomain/xf/63e2d96047754072a340610
。但它说无法找到该页面。
我是否错误配置?
这是我的工作:
<rule>
<from>/jr</from>
<to>/jr/index</to>
</rule>
顺便问一下,有没有办法调试这个?
谢谢!
答案 0 :(得分:1)
您的重写规则与任何网址都不匹配,因为它在之前的网址之后需要“/”。
所以,规则应该是:
^xf/(.*)$
而且,这是解释
如果你正在使用Apache和mod_rewrite,你可以看一下这个问题:How to debug Apache mod_rewrite
答案 1 :(得分:0)
事实证明,我有另一个处理请求的规则:
<rule>
<from>/xf</from>
<to>/xf/index</to>
</rule>
URLRewrite
的默认匹配类型是正则表达式,因此我的请求网址与/xf
匹配,然后实际网址为/newHouse/index/xxxxx
。显然,这个页面不存在。
因此,为了使其正常工作,我必须将其更改为:
<rule>
<from>/xf$</from>
<to>/xf/index</to>
</rule>
$
的末尾需要from
。