2014-05-08 53 views
1

我想改变为好,而一些URL格式要排除某些URL:不包括在.htaccess的URL的URL字符串重定向

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

这应该工作:

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/sometitleusa-sometitle-2014,但我不会变更/usa/music-events

+0

是的,这解决了这个问题。谢谢! – shabk

+0

是否有理由不接受此答案? @ user1952378 – Howli

+0

这不是以维护友好的方式编写的,只是计算在这条规则中重复了多少次“美国”字。如果同样的规则需要重复“ca”呢? – anubhava

1

这一条规则应该适合你:

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