2012-12-02 12 views
0

有人能告訴我我做錯了什麼?使用PHP進行簡單的mod重寫獲取值

試圖採取:

search.php?key=23&category=testing 

,使:

/23/testing.html 

與此:

RewriteRule ^([^/]*)/([^/]*)\.html$ /?key=$1&category=$2 [L] 

對於我的生活,我不能想出解決辦法...或者如果有更好的方法,請指出正確的方向。

**更新

好吧,這個放棄後,我終於聯繫上託管公司,看看是否有與我的域名發生問題,而且保持這種從工作。以下是他們告訴我:

  1. 你不必重寫條件,你只需要一個簡單的重寫。要使代碼>始終正常工作,您通常應該使用有效模式設置「RewriteCond」。

  2. 您已使用「?」問號字符在您的代碼中,雖然這是一個轉義>字符,並且這樣做只會導致基於您的代碼重寫index.php>問號後的所有內容都會被轉義。

請考慮在代碼中使用「RewriteCond」,並使用正則表達式正確地轉義>「?」字符並避免意外的行爲。

任何人都可以給我一些幫助嗎?謝謝!

+0

確保把R放在參數[L,R]中。我通常會構建一個快速定製的MVC,並通過index.php提出每個請求。這樣我可以編寫我的固定鏈接。 –

+0

還沒有骰子。我不需要對我的PHP文件做其他事情嗎?我可以得到一個簡單的hmtl重定向工作,所以我知道路徑等正在工作......但對於我的生活,我無法弄清楚爲什麼這不起作用。 – Mark

+0

重寫規則應該以^/我相信。 –

回答

1
RewriteRule ^/([^/]*)/([^/]*)\.html$ /?key=$1&category=$2 [L,R]