我有一個cms驅動的網站,無法更改代碼。我想要完成的是創建友好的url,只使用apaches mod-rewrite引擎。重定向與htaccess中的重寫條件組合
問題是我創建了一個無限循環,因爲我首先將原始URL(index.php?id = 21)重定向到友好的一個(/ friendly /),然後重寫'/ friendly'部分以'id = 21'
我知道應該有一個額外的條件或參數,以避免在這種情況下循環,但我不能得到可能的解決方案之一工作。
Here's代碼:
RewriteCond %{query_string} ^id=21$ [NC] RewriteRule /* /peuterspeelzaal? [R=301,L] RewriteRule ^peuterspeelzaal$ index.php?id=21 [L]
我並不瞭解請求行,但它似乎確實有效。出於好奇,究竟是什麼讓這個代碼工作,我的不是? – 2010-03-22 10:20:03
@Robbert van den Bogerd:應用規則時,URI將更改。 * L *標誌意味着用新的URI重新啓動重寫過程。這會導致無限重定向,因爲這兩個規則都會創建另一個規則接受的新URI。 – Gumbo 2010-03-22 10:42:07