在Htaccess URL重定向中排除网址中的字符串

时间:2014-05-08 17:30:51

标签: .htaccess cakephp concat

我想尝试更改某些网址格式,同时想要排除某些网址:

myurl.come/usa/(.*) ---> myurl.come/usa/(.*)+2014

myurl.come/usa/music-events/将保持不变。

这是我需要的,但不知道如何正确编写它:

RewriteCond %{REQUEST_URI}!^usa/music-events [AND]
RewriteCond %{REQUEST_URI} usa/(.*)

RewriteRule ^usa/(.*)    /usa/Concat($1,2014 )            [R=301,L] 

2 个答案:

答案 0 :(得分:2)

这应该有效:

RewriteEngine on

RewriteCond %{REQUEST_URI} !^/usa/music-events
RewriteCond %{REQUEST_URI} !^/usa/(.*)-2014
RewriteCond %{REQUEST_URI} ^/usa/(.*)
RewriteRule ^usa/(.*)$ /usa/$1-2014 [R=301,L] 

这会将usa/sometitle更改为usa-sometitle-2014,但我不会更改/usa/music-events

答案 1 :(得分:1)

这条单线规则对您有用:

RewriteEngine On
RewriteRule ^(usa)/((?!(?:music-events|2014)).+)$ /$1/$22014 [R=301,L,NC]