2012-01-29 117 views
0

我在http.conf中定義了一個重寫URL,以將參數附加到請求URL。在自定義日誌輸出中,我看不到修改的請求URL。當我看到我在其中一個論壇中發現的原因時,mod_rewrite僅影響通過HTTP調用的訪問,並且不影響服務器內的文件操作。這是真的嗎?有沒有辦法在Apache日誌中只記錄修改過的重寫URL?非常感謝您的幫助。在自定義日誌中重寫URL

我試圖訪問的示例網址是http://www.abc.com/pixel.gif?on=test,輸出中我想要的內容類似/pixel.gif?type=modified&on=test

RewriteCond %{HTTP_HOST} www\.abc\.com 
RewriteRule ^/(.*)$ /$1?type=modified  [QSA,L] 
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 

回答

1

有一個,如果你打開RewriteLog指令記錄改寫相關事物的方式。

基本上,你會加入這.htaccess文件(和日誌路徑可能會有所不同)

RewriteLog "/usr/local/var/apache/logs/rewrite.log" 
RewriteLogLevel 5 

但是注意,RewriteLogLevel可以開發或生產服務器很慢下來。您可能需要使用較小的號碼...而不是5。當你完成檢查你的RewriteRule ...你很可能想要註釋掉(或刪除)RewriteLog/RewriteLogLevel行。

希望能幫助您的調試!

+0

謝謝summea。我無法將RewriteLogLevel更改爲5,正如您所說,它會撞擊我的服務器。我會尋找不同的方法來添加參數。我只想知道他們是否只是在訪問日誌中展示重寫URL,我發現他們沒有辦法做到這一點。再次感謝! – Balaji 2012-01-29 07:23:50

+0

沒問題;我想(儘管我必須找到這個想法的參考),mod_rewrite只會在通過HTTP訪問URL時使用URL,就像你想的那樣。但我仍然需要仔細檢查... – summea 2012-01-29 07:26:19

+0

我在其中一個論壇 - http://www.webmasterworld.com/forum92/2858.htm找到了信息,但不知道它是多麼可靠。 – Balaji 2012-01-29 08:07:39