2016-01-12 123 views
0

ATM我们正在调查我们的webapp中的一个错误,它会为特定内容生成重复的url。重复的url会得到一个后缀-X,其中X是一个整数。.htaccess rewrite重定向特定url结尾

正确的URL看起来像这样:

http://www.foo.bar/entity/some-special-name 

的副本是这样的:

http://www.foo.bar/entity/some-special-name-1 

直到我们发现了错误,我们迫切需要基于mod_rewrite的一种变通方法会被重定向式两份找到原件。有人有个想法,我该如何实现这种重定向?正则表达式将如何?重定向只应在/entity/子目录中的网址中触发。

回答

1

您可以使用您的网站根目录的.htaccess这个重定向规则删除无效的网址:

RedirectMatch 301 ^/(.+)-\d+/?$ /$1 

如果你只是想解决/entity/网址,然后使用这个规则:

RedirectMatch 301 ^(/entity/.+)-\d+/?$ /$1 
+0

但这然后是整个网站?只有在特定的子目录“实体”才会是“RedirectMatch 301 ^/entity /(。+) - \ d + /?$/$ 1然后? – Tronic

+0

这将适用于您网站上的所有网址,除非您有另外一个.htaccess -directories – anubhava

+0

由于网址是由cms创建的,所以我们没有“真正的”子目录。entity只是一个路由... – Tronic