重定向并更改单个 URL 段
redirect and change a single URL segment
我们有多个 URL,并希望根据其中一个分段进行重定向。
通常我们有重写规则,然后是这样的:
redirect permanent /home/category/feline /home/category/cat
挑战是有 50 多个 url 和分段变化,所以我想知道是否有更简单的匹配和重定向方法?
这里有几个例子:
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
是否可以将任何带有 feline 的 URL 重定向到 cat?
我目前正在测试以下有效的方法,但我想澄清一下:
RewriteRule (.*)feline(.*)$ cat [R=301,NE,L]
您可以使用 RedirectMatch
支持正则表达式:
RedirectMatch 301 ^(.*/)?feline(/.*)?$ cat
测试此规则前清除浏览器缓存。
使用mod_rewrite
:
RewriteEngine On
RewriteRule ^(.*/)?feline(/.*)?$ /cat [R=301,NE,NC,L]
我们有多个 URL,并希望根据其中一个分段进行重定向。
通常我们有重写规则,然后是这样的:
redirect permanent /home/category/feline /home/category/cat
挑战是有 50 多个 url 和分段变化,所以我想知道是否有更简单的匹配和重定向方法?
这里有几个例子:
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
是否可以将任何带有 feline 的 URL 重定向到 cat?
我目前正在测试以下有效的方法,但我想澄清一下:
RewriteRule (.*)feline(.*)$ cat [R=301,NE,L]
您可以使用 RedirectMatch
支持正则表达式:
RedirectMatch 301 ^(.*/)?feline(/.*)?$ cat
测试此规则前清除浏览器缓存。
使用mod_rewrite
:
RewriteEngine On
RewriteRule ^(.*/)?feline(/.*)?$ /cat [R=301,NE,NC,L]