2014-05-08 51 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]