我想設置一個'默認'重寫規則來捕捉任何與先前重寫條目不匹配的東西。我已經試過這樣:設置默認的Apache RewriteRule條目
RewriteRule ^(.*)/?$ index.php?url=$1 [L]
但返回的輸出是:
url = index.php
理想的情況我想是附加的所有GET值「URL」所以他們將被保存到我的網絡日誌。任何人有任何建議如何解決這個問題?
我想設置一個'默認'重寫規則來捕捉任何與先前重寫條目不匹配的東西。我已經試過這樣:設置默認的Apache RewriteRule條目
RewriteRule ^(.*)/?$ index.php?url=$1 [L]
但返回的輸出是:
url = index.php
理想的情況我想是附加的所有GET值「URL」所以他們將被保存到我的網絡日誌。任何人有任何建議如何解決這個問題?
省略正則表達式不必要的括號時,您可以:
RewriteRule .* index.php?url=$0 [L]
如果你想排除「index.php」:
RewriteRule ^(?!index\.php).* index.php?url=$0 [L]
你需要排除的規則的目的:
RewriteCond $1 !=index.php
RewriteRule ^(.*)/?$ index.php?url=$1 [L]
嘗試刪除斜槓:
RewriteRule ^(.*)$ index.php?url=$1 [L]
很好,謝謝你們! – Spoonface 2009-12-06 14:10:20
這對Apache 1.x不起作用。 – Gumbo 2009-12-06 14:19:59
Apache 1.x不使用PCRE庫。 – Geert 2009-12-06 18:42:29