从文件夹和文件中删除附加的`-1`

时间:2013-05-14 08:17:35

标签: apache .htaccess mod-rewrite

我有数百个已被Google编入索引的网址,我需要解析并重定向它们。模式是这样的:

www.mydomain.com/en/decor/somefolder-1/somepage-1.html?p=4
www.mydomain.com/it/somepage-1.html
www.mydomain.com/es/somefolder/anotherfolder-1/somepage.html

我使用的CMS,Magento,有一个重写模块,有时失败,并将-1添加到文件夹和.html文件。

正如您所看到的,我需要一个重写规则来取消文件夹的-1和页面-1之前的.html

我需要它根据上述系统永久重定向(301)传入请求并将其重写为:

www.mydomain.com/en/decor/somefolder/somepage.html?p=4
www.mydomain.com/it/somepage.html
www.mydomain.com/es/somefolder/anotherfolder/somepage.html

帮助实现这一点将不胜感激。

1 个答案:

答案 0 :(得分:0)

请尝试此重写规则:

RewriteEngine On
RewriteRule (.*)-1[\./](.*) $1$2 [R=302]

将删除-1后跟句点或斜杠。如果网址包含多个-1,则会重复此操作,直到删除每个-1为止 [R=302]是用于定义临时重定向的标志。这仅用于测试目的,一旦您确定此解决方案可以解决您的问题,就可以用[R=301]替换(用于永久重定向)。