我的服務器或暫存服務器上有一個奇怪的行爲,我們需要看看實際問題在哪裏。下面是從流行的WordPress的CMS一些知名代碼:爲什麼Wordpress會阻止訪問一臺服務器上的wp-content文件,但不能訪問具有相同htaccess代碼的另一臺服務器
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
AddHandler application/x-httpd-php53 .php
與原代碼的唯一區別是增加了「的AddHandler」在這是需要我們臨時託管服務提供商的文件的末尾。
真正的問題是我可以在我的開發服務器(基於內部Ubuntu的12.04標準服務器)上的以下虛擬URL上訪問文件,而不是在生產或臨時(它們都是同一臺服務器)上訪問文件。
- /wp-content/test.php
- /wp-content/themes/test.php
- /wp-content/themes/wpactivis/test.php
- /可溼性粉劑內容/主題/ wpactivis/_/test.php的現在
- /wp-content/themes/wpactivis/_/ajax/test.php
在一組服務器,這些URL返回404和WordPress似乎在我們的開發服務器上啓動automaticaly,200 OK和t他文件內容是回報這是典型的「Hello World」的測試......
任何htaccess的大師能告訴我應該是什麼粘貼代碼的實際行爲,它應該是一樣的臨時服務器或開發服務器。
我傾向於認爲它應該像開發服務器,任何文件訪問或目錄的訪問應該被授予,而不是返回404因爲:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
條件!
謝謝
注:不要告訴我這是一個糟糕的方式一樣,我不想聽到的代碼Wordpress或東西。我們有一個完全安全的設置,並且可以直接訪問我的插件或主題目錄中的文件是無關緊要的。類似的問題在網上發佈,但沒有答案,只有人說你應該這樣做。 我在這裏嘗試的是得到一個答案,爲什麼它在一臺服務器上而不是另一臺服務器上。