重定向并更改单个网址段

时间:2016-01-21 22:51:15

标签: php .htaccess codeigniter redirect expressionengine

我们有几个网址,并希望根据其中一个细分来重定向。

通常我们会有重写规则,例如:

redirect permanent /home/category/feline /home/category/cat

挑战是有50多个网址和细分更改,所以我想知道是否有更简单的匹配和重定向方式?

以下是一些例子:

redirect permanent /home/category/feline /home/category/cat
redirect permanent /content/category/feline /home/category/cat
redirect permanent /channel/segment/category/feline /channel/segment/category/cat
redirect permanent /segment/category/feline/entry /segment/category/cat/entry

是否可以将任何带有猫科动物的网址重定向到cat?

我目前正在测试以下内容,但有效,但希望澄清:

RewriteRule (.*)feline(.*)$ $1cat$2 [R=301,NE,L]

1 个答案:

答案 0 :(得分:2)

您可以将RedirectMatch与正则表达式支持一起使用:

RedirectMatch 301 ^(.*/)?feline(/.*)?$ $1cat$2

在测试此规则之前清除浏览器缓存。

使用mod_rewrite

RewriteEngine On
RewriteRule ^(.*/)?feline(/.*)?$ /$1cat$2 [R=301,NE,NC,L]