2011-07-26 78 views
1

我想要獲取網址中特定匹配的最後一次出現,這是我目前擁有的線路RewriteRule ^([a-zA-Z0-9\-.]+/?)$ index.php?p=$1 [QSA,L].htaccess正則表達式來查找匹配的最後一次發生

因此,例如以下網址/first-part/second-part/需要返回P =「第二部分」的獲取變量,而/first-part/需要返回P =「第一部分」

回答

3

的變量你可以得到你想要的很容易通過移除插入符號 - 你希望模式從開始到結束匹配,但只是接近尾聲:

([a-zA-Z[0-9\-.]+/?)$ 

例子:http://rubular.com/r/TQcppGpoq4

您可能還想刪除[字符,看起來像是一個錯誤。
您可以將模式簡化爲:([\w\-.]+/?)$

+0

是的額外[是一個排字錯誤 – kalpaitch

+0

而且工作,雖然由於某種原因,我無法確定,刪除插入符停止樣式加載?事實上停止任何資源加載? – kalpaitch

+0

@kalpaitch - 這是一個非常寬泛的規則,它將匹配您網站中幾乎所有的網址(只要它們是由ASCII字母組成)。原始模式也是這樣......真的,'/ first-part/second-part /'和'/ style-lib/main-style.css'有什麼區別?你應該創建一個更具體的規則... – Kobi

相關問題