2010-11-18 25 views
1

由於一些奇怪的原因,我試圖在我的WordPress安裝中訪問wp-content/plugins /目錄下的每個文件並返回一個WordPress基於404錯誤。該文件顯示在目錄列表...在wp-content/plugins /目錄中以.php結尾的文件被視爲未找到

這樣的:http://technologysolved.ca/wp-content/plugins/store-locator/js/

其他文件類型(的.js和.html)被點擊它們正常工作時。但是當一個文件如:store-locator-js.php被點擊時,WordPress會返回404樣式錯誤。

這發生在插件目錄和下面的所有.php文件中。

我相信這可能是某種.htaccess更多的mod_rewrite錯誤,但我不確定。

我的.htaccess文件是以下...

RewriteEngine On 
RewriteBase/

RewriteRule ^index\.php$ - [L] 

RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
RewriteRule . index.php [L] 

任何幫助,將不勝感激。謝謝!

+0

您是否使用它作爲分發PHP文件的下載方式? – MikeSchinkel 2010-11-18 19:37:27

回答

2

首先,你應該從來沒有直接在瀏覽器中訪問插件目錄中的PHP文件。您甚至可以在瀏覽器中看到目錄視圖這一事實是您網站的安全問題!

但是,讓我們說,爲了爭辯,事情工作正常,你仍然需要直接瀏覽器訪問此文件。即使如此,直接訪問PHP文件也不會開始WordPress,這意味着您將有沒有訪問您的博客,您的主題,您的帖子或WordPress API。

請記住,PHP旨在在服務器上執行 - 它是服務器端代碼。 JS和HTML被認爲是文本文檔,直到它們被瀏覽器解釋 - 它們是客戶端代碼。您應該而不是能夠通過在目錄視圖中單擊其名稱來查看PHP文件的內容。這將嘗試執行服務器上文件中包含的代碼。就你而言,插件文件也引用WordPress(可能會加載引導文件)並引發錯誤。

因此不,這不是.htaccessmod_rewrite中的錯誤。

+0

感謝您的意見。我不理解目錄瀏覽,但我試圖說明,該目錄中的JS文件「正常運行」並且被發現,但是當點擊帶有.php擴展名的文件時,WordPress沿着處理中斷和WordPress的方式我假設)拋出一個錯誤,被視爲404。我不知道它是.htaccess或WordPress,但很奇怪,這個問題只發生在wp-contents/plugins / – mstearne 2010-11-18 21:59:28

相關問題