2012-07-25 33 views
4

作爲http://website.com/sub/index.html這樣一個子目錄都有自己的.htaccess還是出於某種原因顯示404頁我有WordPress的是上面這個目錄中的子目錄。對於子DIRWordPress的404頁顯示上有它自己的404

的.htaccess:

ErrorDocument 404 /404.html 

的.htaccess主目錄:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^website.net$ [OR] 
RewriteCond %{HTTP_HOST} ^www.website.net$ 
RewriteRule ^foghelper.php$ http://website.net/subdirone/ [R=301,L] 
RewriteRule ^foghelper.php$ http://website.net/subdirtwo/ [R=301,L] 
# DO NOT REMOVE THIS LINE AND THE LINES ABOVE jNLK5d:REDIRECTID 


# 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 

鏈接,分別在HTA的情況下,被監察您的疑惑。

編輯:RewriteRule . /index.php [L]

完成投入RewriteCond %{REQUEST_URI} !^/?sub/錯誤似乎仍然存在。

+0

你見過這樣的職位? http://stackoverflow.com/questions/2322559/htaccess-wordpress-exclude-folder-from-rewriterule 希望它能幫助! – jmlv21104 2013-01-15 16:23:13

回答

0

一切都正在通過WordPress的,所以當這樣的事情/sub/no_file.html的請求,並沒有因爲它同時滿足!-f!-d條件(而不是現有的文件,而不是現有的目錄中,WordPress的路線是通過其index.php路由)。然後它決定它找不到/sub/no_file.html的資源,然後顯示它自己的404文件。

如果希望去/子繞過WordPress的路由,這樣,如果一個文件被/sub/要求不存在請求,/404.html得到服務,您可以RewriteRule . /index.php [L] 之前就在你的WordPress規則添加此行,他們看起來像這樣:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/?sub/ 
RewriteRule . /index.php [L] 
</IfModule> 
+1

我補充說,仍然有同樣的問題。 – ComputerLocus 2012-07-25 04:17:31

0

默認.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 

魔術是在以RewriteCond開頭的行中。他們指示Apache應用規則RewriteRule。的index.php [L](意思是「任何URL會去的index.php」),只有當URL是不是已經存在的文件!-f或現有目錄!-d。

所以這應該是默認工作。當您嘗試訪問已存在的文件時,Wordpress重寫規則不適用。

+1

不,你看到了我想要做的是有子目錄,這樣sitename.com/subdir利用自己的404頁。在我的網站上,我擁有的某些網絡應用程序位於不同的目錄中,並且它們都有自己的404,與主題等一致。然而,無論何時我去這些不存在的目錄中的頁面,我都會被帶到主目錄上的wordpress 404錯誤。 – ComputerLocus 2013-01-16 19:16:13