2013-10-03 108 views
2

我真的很努力去匹配這個URL我的htaccess規則,沒有我嘗試似乎工作。重寫規則不適用

這是我想匹配

http://www.xyz.com/events/my-event-in-town/

RewriteRule ^my-event-in-([^/]+)/$ /new-url/$1/ [R=301] 

希望有人能指出我的明顯錯誤

我還需要從URL中移除第一/事件/部分網址

+0

嘗試刪除第一個^ ^。或者,「我的事件在城裏」是你的文檔根? – Qben

+0

這工作,除了我需要刪除「事件」部分呢?我雖然^意味着從這裏開始匹配? – jhodgson4

+2

正如@servant在他的回答中寫道的,^ ^是行的開始,而不是在這裏開始匹配。 '$'也是行尾。除非你想確認它真的在那裏,否則你不應該對'events'部分做任何事情。伯僕回答了。 :-) – Qben

回答

2

它應該是:

RewriteRule ^events/my-event-in-([^/]+)/$ /new-url/$1/ [R=301] 

或者:

RewriteCond %{REQUEST_URI} ^/events/ 
RewriteRule my-event-in-([^/]+)/$ /new-url/$1/ [R=301] 

你的規則將只匹配http://www.xyz.com/my-event-in-town/因爲^意味着線錨的開始。

+0

謝謝你,那工作。開始行,你的意思是域名後的一切? – jhodgson4

+1

@ jhodgson4是的,域名後的所有內容。但是也許它可能是_.htaccess_文件_的包含目錄(但我不確定它)的所有內容。 – 5ervant