2016-07-29 46 views
0

我繼承了一個大的WordPress站點:當我發現用戶沒有加載特定的PHP頁面時,我正在查看Wordfence實時日誌。我調查並通過一個FTP客戶端,我發現該文件是它應該在的地方。我用了一些網絡工具(在Chrome,Opera和Firefox),並再次,我發現文件是如此返回一個404重寫RewriteRule以在路徑中包含一個特定的php文件

,我在網站上短暫htaccess文件包含此行的根目錄:

RewriteRule ^wp-content/(.*)\.php$ [R=404,L] 

我評論了這一點,並重新加載網站:沒有錯誤了。我必須說,這個錯誤顯然不會給網站帶來任何奇怪的結果。但我想消除它。

我想這個規則是爲了避免有人可以直接向這個目錄以及該目錄中的任何其他PHP文件發出HTTP請求:在這種情況下,我想這個文件是從include調用的,而不是直接,因爲在WordFence中我看到的是用戶直接訪問其他頁面後出現的錯誤,而不是特定的錯誤。

無論如何,我想重寫這個規則,以便它保持與現在一樣,除了那個PHP頁面。 PHP的頁面是在主題的路徑:

的wp-content /主題/ THEMENAME /核心/ CSS/customized.css.php

這可能嗎?任何幫助表示讚賞

回答

3

如果你想排除從RewriteRule特定php文件,你可以負前瞻添加到正則表達式,像這樣:

RewriteRule ^wp-content/(?!themes/.*/core/css/customized\.css\.php$)(.*)\.php$ [R=404,L] 
相關問題