2010-02-03 24 views
3

我在VPS環境,所以我有root權限,順便說一句。在主題文件夾內的Wordpress,.php文件不運行,但返回404錯誤

所以來看看這些問題: http://www.sonikastudios.com/wp-content/themes/sonikas/scripts/timthumb.php?src=/wp-content/uploads/tedleescreenshot1.jpg&w=100&h=100&zc=1&q=100

返回404錯誤。

但是,當我將timthumb.php移動到網站的根目錄時,它可以正常工作。

我驗證了文件/文件夾權限,這不是問題。此外,另一個PHP生成的圖像,我用Captcha,做同樣的事情...

所以基本上歸結爲沒有.php文件從文件夾中運行。然而,這不是一個問題,否則因爲我在/ admin /在其他網站上的PHP腳本工作正常。

那麼...什麼會導致這種情況?我讀的大多數論壇文章都傾向於一個mod_security問題,但我甚至不知道從哪裏開始,因爲我不是apache專家。

回答

4

由於您有root權限,請嘗試查找Apache日誌中發生的情況。要遵循最新的要求,您可以使用尾巴。

你運行的是哪個版本的Apache?在我的Apache 2.2的配置,你可以通過調用跟蹤錯誤日誌在終端:

tail -f /var/log/httpd/error_log 

It seems阿帕奇2.2的默認配置是錯誤日誌中/usr/local/apache2/logs/error_log,所以我的配置是不是默認。

如果您的錯誤日誌沒有成功,請嘗試查找訪問日誌中的信息,默認位置爲/usr/local/apache2/logs/access_log

+0

無法找到該httpd文件夾...錯誤日誌可能是其他任何位置? – jeffkee

+0

我的錯誤!我發現我的配置是從默認設計的。我添加了一些提示,可以幫助您更多! – jsalonen

+0

[Thu Feb 04 01:44:00 2010] [error] [client 174.6.169.139] ApplicationException中的SoftException:610:目錄「/ home/sonikas/public_html/wp-content/themes/sonikas」可由其他人,referer:http://www.sonikastudios.com/portfolio/drive-dance-centre [Thu Feb 04 01:44:00 2010] [error] [client 174.6.169.139]腳本標題過早結束:timthumb.php ,referer:http://www.sonikastudios.com/portfolio/drive-dance-centre 我認爲這是罪魁禍首。所以我猜這裏有很高的安全性......我通常很懶,我只是將權限設置爲777,但是我想我應該用755或者其他東西去解決。 – jeffkee

2

WordPress的可能是使用一些mod_rewrite規則發送每個請求到它的index.php。那裏它分析請求並返回一個404狀態碼,如果它的內部請求之一。

+0

不只是這個問題。其他任何文件(例如jpgs)都可以在子文件夾中正常運行,並且不會恢復到/index.php文件。我理解在.htcaccess中重寫的mod的功能。這些網站和文件在我以前的服務器上工作得很好。我只是爲了更快的速度和更大的容量等而遷移,並且一些apache或php設置阻止了它的工作。 – jeffkee

1

這是由WordPress生成的.htaccess文件的問題。它會將您的網站的所有非wp-admin /或您上傳目錄的請求重定向到WordPress的index.php文件(查詢帖子的請求處理程序等)

+0

不是那麼簡單......它只是在子文件夾內沒有反應的PHP文件。 35 35 012 012 012 012 012 012 這不行。然而... http://www.sonikastudios.com/wp-content/uploads/DSC01426-600x337.jpg This Works。我看到的一些論壇指出了Apache上的mod_security問題,但沒有具體說明 - 他們只有關於如何向hostgator發送電子郵件以修復其特定服務器的說明。我的Inmotion託管是一個通用的VPS。 – jeffkee

3

當文件它自己也是可寫的。確保文件是644而不是666!

+0

+1它爲我工作 –

0

在我的情況下,以下准許變化解決了(Timthumb.php)問題:

  1. 的PHP腳本必須"644"
  2. 所有的父目錄必須是"755"; "775""777"都沒有。
相關問題