0

对于 seo 和重定向旧页面,我们需要将旧的移动网站页面重定向到新的子域。但这不适用于常见的重定向规则,即

<rule>
    <from>/m/</from> 
    <to type="permanent-redirect">http://m.website.com</to>
</rule>

这大部分时间都在按预期工作

http://website.com/m/

被重定向到

http://m.website.com

这样做之后,我们遇到了一个奇怪的问题。哪个是

http://website.com/module/m/

被重定向到

http://website.com/module/http://m.website.com/

预期的是,它也应该像以前一样被重定向。是什么导致了这个问题?

jfi,我们的 web 应用程序是使用 UrlRewriteFilter 的 struts。

4

1 回答 1

1

深入了解后,我终于知道 urlrewritefilter 实际上是通过仅替换匹配的正则表达式模式,在标题位置的值中设置根目录的相对路径来响应请求的路径,如上所述。这可以在这里看到

因此,浏览器实际上将其解释为当前域的相对路径并给出 404 错误。

这可以使用自定义重定向操作来处理此类请求来解决。

于 2013-05-31T10:18:35.000 回答