修复htaccess mod重写中的正则表达式

时间:2014-08-27 15:51:55

标签: regex apache .htaccess mod-rewrite

我正在使用htaccess重定向过时的网址列表。

我没有逐个区分,而是试图找到正则表达式来转换这种网址:

/gestao/contabilidade/item/2603-funções-do-departamento-financeiro.html
/financas/item/2603-funções-do-departamento-financeiro.html

进入这一个:

/item/2603-funções-do-departamento-financeiro.html

因此,规则是在'/item/'之前删除所有内容 - 除了那些不包含'/item/'的网址。

我尝试使用RewriteRule使用不同的表达式,但找不到正确的表达式。

2 个答案:

答案 0 :(得分:1)

在htaccess的开头(在根文件夹中)添加此规则

RewriteEngine On
RewriteRule ^.+/item/(.+)$ /item/$1 [R=301,L]

答案 1 :(得分:1)

You don't a actually need mod_rewrite to do this.您可以使用mod_redirect更简单地完成此操作。

RedirectMatch ^.+/item/(.+)$ /item/$1