Url rewriting 在Struts中重定向到子域时,永久重定向不起作用
对于seo和重定向旧页面,我们需要将旧的移动站点页面重定向到新的子域。但这不适用于常见的重定向规则,即Url rewriting 在Struts中重定向到子域时,永久重定向不起作用,url-rewriting,struts,tuckey-urlrewrite-filter,Url Rewriting,Struts,Tuckey Urlrewrite Filter,对于seo和重定向旧页面,我们需要将旧的移动站点页面重定向到新的子域。但这不适用于常见的重定向规则,即 <rule> <from>/m/</from> <to type="permanent-redirect">http://m.website.com</to> </rule> 被重定向到 http://m.website.com http://website.com/module/http://m.w
<rule>
<from>/m/</from>
<to type="permanent-redirect">http://m.website.com</to>
</rule>
被重定向到
http://m.website.com
http://website.com/module/http://m.website.com/
在这样做之后,我们面临着一个奇怪的问题。那是
http://website.com/module/m/
被重定向到
http://m.website.com
http://website.com/module/http://m.website.com/
预期的是,它也应该像以前一样重定向。
是什么导致了这个问题
jfi,我们的web应用程序是使用UrlRewriteFilter的struts。深入研究之后,我终于知道UrlRewriteFilter实际上是通过替换匹配的正则表达式模式,在头位置的值中设置根目录的相对路径,以响应请求的路径,如上所述。 可见, 因此,浏览器实际上将其解释为当前域的相对路径,并给出404错误 这可以通过使用自定义重定向操作来处理此类请求来解决