2014-12-07 56 views
0

在此先感謝,這是一個奇怪的問題,但可能是一些內部處理,我不明白... 規則和條件按預期工作,除了一個小問題....它似乎是當文件不是空的時候返回一個空文件... 在光明的一面,我得到了日誌工作,並開始有一個關於非常神祕的代碼的線索(謝謝你先生阿帕奇當然apache.org的,併爲那些誰想要測試有正則表達式:regex101.com) 這裏是我的日誌文件:修改重寫規則的作品,但沒有輸出文件

[Sat Dec 06 19:04:49.939312 2014] [rewrite:trace1] [pid 5918] mod_rewrite.c(468): [client 192.168.1.100:55227] 192.168.1.100 - - [webtypography.dev/sid#7fdcea80dd68][rid#7fdcea7de0a0/initial] [perdir /var/www/webtypography.dev/public_html/] pass through /var/www/webtypography.dev/public_html/toc.php 

這是我的.htaccess文件:

Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^webtypography\.dev$ [NC] 
RewriteRule ^(.*)\/$ $1.php [R=301,L] 

多一點信息:我的意圖是,如果你在其中包括一個目錄的URL類型:/directory/它被改寫爲directory.php和附加在基本的URL ....除了大片空白瀏覽器窗口的偉大工程。 ..

[Sat Dec 06 19:04:49.939265 2014] [rewrite:trace3] [pid 5918] mod_rewrite.c(468): [client 192.168.1.100:55227] 192.168.1.100 - - [webtypography.dev/sid#7fdcea80dd68][rid#7fdcea7de0a0/initial] [perdir /var/www/webtypography.dev/public_html/] strip per-dir prefix: /var/www/webtypography.dev/public_html/toc.php -> toc.php 
[Sat Dec 06 19:04:49.939301 2014] [rewrite:trace3] [pid 5918] mod_rewrite.c(468): [client 192.168.1.100:55227] 192.168.1.100 - - [webtypography.dev/sid#7fdcea80dd68][rid#7fdcea7de0a0/initial] [perdir /var/www/webtypography.dev/public_html/] applying pattern '^(.*)\\/$' to uri 'toc.php' 
[Sat Dec 06 19:04:49.939312 2014] [rewrite:trace1] [pid 5918] mod_rewrite.c(468): [client 192.168.1.100:55227] 192.168.1.100 - - [webtypography.dev/sid#7fdcea80dd68][rid#7fdcea7de0a0/initial] [perdir /var/www/webtypography.dev/public_html/] pass through /var/www/webtypography.dev/public_html/toc.php 

這些都是在我的虛擬日誌中的事務(我創建了一個單獨的日誌此虛擬主機...)還有這不是一個生產服務器,但我要去看看的唯一入口php.ini和php的錯誤日誌....我不允許評論,所以我必須在這裏做到這一點?

php.ini is display_errors was off! 現在我得到了我需要的錯誤......謝謝尼爾!請允許我檢查這些錯誤,他們很容易解決,我怎麼能給你任何信用?

+0

由於PHP或Apache錯誤導致空輸出時間爲99.999999%,其中'display_errors = no'與生產時應該一樣。檢查您的虛擬主機的Apache錯誤日誌。 – 2014-12-07 00:19:31

+0

99.999999%的信貸去尼爾斯,我仍然必須解決這個問題... :) – Bill 2014-12-07 00:41:17

+0

我會讓它成爲一個答案,所以你可以接受它:) – 2014-12-07 00:42:00

回答

0

如果PHP或Apache產生空輸出,這幾乎總是由您的Apache配置(包括.htaccess文件)或您的PHP中的錯誤導致,display_errors被禁用(因爲它該死的應該在生產站點上 - 你從不想向可能的攻擊者展示服務器內部)。

第一站應該是Apache的虛擬主機錯誤日誌,因爲它們將包含來自所有這些來源的錯誤。