我想知道如何創建和調試這種腳本,如果你不習慣寫它們(像我一樣)會變得有點頭疼。如何調試htaccess重寫腳本
你使用工具來創建它們嗎?
任何提示調試正在發生的事情,而不是隻創建一個本地結構,看看瀏覽器中發生了什麼?
我想知道如何創建和調試這種腳本,如果你不習慣寫它們(像我一樣)會變得有點頭疼。如何調試htaccess重寫腳本
你使用工具來創建它們嗎?
任何提示調試正在發生的事情,而不是隻創建一個本地結構,看看瀏覽器中發生了什麼?
您可以在虛擬主機配置中設置RewriteLog指令 它會將必要的信息寫入您指定的文件。
RewriteLog "/usr/local/var/apache/logs/rewrite.log"
此外,使用RewriteLogLevel指令來控制記錄的
RewriteLogLevel 3
你可以使用任何正則表達式測試工具來幫助你對網址測試你的模式數量(我使用「正則表達式教練」 - Windows應用程序)。這隻會對模式有所幫助 - 您應該已經知道重寫的一般邏輯/流程。
要DEBUG你必須能夠修改Apache的配置文件 - 使用RewriteLogLevel 9
和RewriteLog /path/to/rewrite.log
看到網址中正在發生的事情改寫具體細節(因爲它是一個服務器的配置,你將不得不重新啓動Apache有新的服務器配置應用)。如果你想調試有問題的規則。 3級或任何其他相當低的價值只會顯示你正在進行的概述,而不會涉及細節。
請勿在繁忙/生產服務器上使用級別9,因爲它可能會在幾秒鐘內生成大量日誌。
如果你需要做的301(永久)重定向 - 而不是在測試期間做302(直到您滿意的規則和結果 - 然後換乘301)作爲現代的瀏覽器做緩存301個重定向..所以當你完全改變規則(甚至刪除它)但瀏覽器仍然重定向時,你可能最終陷入令人沮喪的境地。在這種情況下唯一的治療方法 - 清除瀏覽器緩存並重啓。
可能重複http://stackoverflow.com/questions/9153262/ tips-for-debugging-htaccess-rewrite-rules) – Flimm