2011-08-27 108 views
2

我使用這個測試器URL mod_rewrite的測試: http://martinmelin.se/rewrite-rule-tester/URL重寫mod_rewrite的

當我寫的東西是這樣的:

RewriteRule ^x/([a-z]+)/([0-9]+)/$ x.php?x=$2 

即使我已經進入網址:

x/p/6/ 

它被重新命名爲

x.php?x=p 

和。我想要的是

x.php?x=6 

我是新的mod重寫,所以任何東西都會有用。

+2

你的規則是正確的。你必須在實際工作的Apache服務器上測試規則的正確性,而不是在實際上並不按照它應該工作的某些第三方服務上進行測試。順便說一句,您應該至少對您之前的問題留下一些反饋意見,而不要只是在沒有任何評論/解釋的情況下提出新的問題。 – LazyOne

回答

2

我不是mod_rewrite中的專家,但我認爲該工具有問題。例如,如果將x.php?x=$2更改爲x.php?$1=$2,則會正確解析$2。 然後,CMIIW,但正則表達式看起來不錯。測試正則表達式herehere。 你有沒有親身嘗試過RewriteRule?

1
RewriteRule ^x/([a-z\/]+?)/([0-9]+)/$ x.php?x=$2 

這將所有/字符添加到第一個正則表達式塊。這個?使搜索非貪婪。