如果网址包含特定字符,我该如何重定向网址

时间:2018-05-22 09:02:12

标签: .htaccess url redirect url-rewriting

我想重定向(301)这些网址:

c-4344196/springkussen-in-gorinchem/
c-4375489/springkussen-in-schiedam/
c-4532389/springkussen-in-rotterdam/
c-4339304/springkussen-in-spijkenisse/

等:

verhuur/springkussen-in-gorinchem/
verhuur/springkussen-in-schiedam/
verhuur/springkussen-in-rotterdam/
verhuur/springkussen-in-spijkenisse/

但我的问题是,我已经有了这一行:

RewriteRule ^([\w-]+)/([\w-]+)/?$ product-page.php?cat=$1&alias=$2 [QSA,L]

该行将所有内容/所有内容发送到product-page.php,这意味着verhuur / springkussen-in-rotterdam也将被重写为该文件,而不是301重定向到上面的示例。

我认为只有当网址以c-开头时才会重定向,但我不确定这是否可行或如何实现。

所以c-(一切)/ springkussen-in-gorinchem /应该重定向到verhuur / springkussen-in-gorinchem /

我尝试过以下方法:

第一:

#LP
RewriteRule ^c-([\w-]+)/([\w-]+)/?$ verhuur/(.*)?alias=$2 [R=301,QSA,L]

然后:

RewriteRule         ^verhuur/(.*) lp.php?alias=$1 [QSA,L]

但是这会在我的网址栏中显示以下内容:

verhuur/(.*)?alias=springkussen-in-schiedam

我该怎么做?

1 个答案:

答案 0 :(得分:1)

以下内容应该有效:

RewriteEngine on


RewriteRule ^c-[^/]+/(.+)$ /verhuur/$1 [L,R=301]