使用逗号将旧的ASPX URL重定向到新的PHP URL

时间:2016-06-24 15:44:04

标签: php asp.net wordpress .htaccess redirect

我已经搜索过相当多的内容,但是没有找到我的确切问题。

我最近将一个旧的.aspx网站重建为WordPress,基本上改变了网站上的每个网址。我已经完成了所有重定向,除了有一些带有逗号的网址,我似乎无法重定向。

带逗号的网址显示Apache" Forbidden"页。

例如,我有一个网址:/resourceslearn/tools/checklists,-tips,-tools/whitepapers.aspx我需要重定向到/whitepapers/

我对正则表达式不太了解,更不用说htaccess规则了,所以请原谅我,如果我所尝试的是完全错误的。

我已经尝试了以下规则:

Redirect 301 /resourceslearn/tools/checklists(.+)-tips(.+)-tools/whitepapers.aspx$ /whitepapers/

Redirect 301 /resourceslearn/tools/checklists([^/]+)-tips([^/]+)-tools/whitepapers.aspx$ /whitepapers/

Redirect 301 /resourceslearn/tools/checklists,-tips([^/]+)-tools/whitepapers.aspx$ /whitepapers/

Redirect 301 /resourceslearn/tools/checklists([^,/]+)-tips([^,/]+)-tools/whitepapers.aspx$ /whitepapers/

任何人都可以就如何检测网址中的逗号并将其重定向到正确的网页给我一些帮助吗?

2 个答案:

答案 0 :(得分:1)

您无法在重定向中使用正则表达式,请尝试使用RedirectMatch

RedirectMatch 301 ^/resourceslearn/tools/checklists(.+)-tips(.+)-tools/whitepapers.aspx$ /whitepapers/

参考:

https://httpd.apache.org/docs/current/mod/mod_alias.html

答案 1 :(得分:0)

Redirect不使用正则表达式,只使用URL路径。这意味着,您可以按字面意思

Redirect /resourceslearn/tools/checklists,-tips,-tools/whitepapers.aspx /whitepapers/

当它正常工作时,您可以用301替换状态代码。切勿使用R=301进行测试。