URLRewrite - 重写的网址无效

时间:2016-12-14 08:10:52

标签: java url-rewriting

以下是我的配置:

<rule>
    <from>^/xf/(.*)$</from>
    <to>/xfDetail?id=$1</to>
</rule>

我访问过的网址是http://mydomain/xf/63e2d96047754072a340610。但它说无法找到该页面。

我是否错误配置?

这是我的工作:

<rule>
    <from>/jr</from>
    <to>/jr/index</to>
</rule>

顺便问一下,有没有办法调试这个?

谢谢!

2 个答案:

答案 0 :(得分:1)

您的重写规则与任何网址都不匹配,因为它在之前的网址之后需要“/”。

所以,规则应该是:

^xf/(.*)$

而且,这是解释

Explain

如果你正在使用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