2013-10-07 70 views
3

我想寫一個簡單的mod_rewrite規則,我不知道爲什麼它不工作。簡單的mod_rewrite示例

我只是想重寫http://example.com/to/abchttp://example.com/to/index.py?to=abc

目前,我重寫規則是:

RewriteEngine On 
RewriteRule ^/?to/(.*)$ /to/index.py?to=$1 

其中,據我所知,應該與類似/to/whatever任何URL,帶或不帶龍頭/

誰能告訴我我在這裏失蹤了什麼?

+0

這是配置問題嗎? – muffinista

+0

我在日誌中沒有得到任何錯誤。我只是得到一個404錯誤,說/到/不存在。 – WilHall

+0

看起來規則應該沒問題 - 我甚至通過重寫規則測試程序運行它,所以下一個可能的事情似乎是一個配置問題。其他規則是否有效?這是在一個.htaccess文件中,如果是的話,他們打開? – muffinista

回答

0

對於初學者,您還沒有提及它是什麼方式,確切地說,它是「不工作」。如果我猜的話,我會說,它可能循環,你需要做到這一點,而不是:

RewriteEngine On 
RewriteCond %{REQUEST_URI} !index.py 
RewriteRule ^/?to/(.*)$ /to/index.py?to=$1 [PT] 

,說:「不重寫它,如果它已經被改寫

的[PT ]也有說「把這個目標作爲一個URI,而不是一個文件路徑。

但是,爲了確定,您需要告訴我們發生了什麼事情,以什麼方式與您想要發生的事情不同。錯誤日誌條目將有所幫助。重寫日誌條目會更有幫助。