2016-04-15 93 views
0

我有一個Wordpress安裝在我的域的子文件夾www.domain.com/blog。它有它自己的404頁面,不幸的是,如果在我的主網站上找不到頁面,它也會顯示。htacess wordpress子文件夾不同404

我想有一個404重定向我的主要網站和WordPress的一個爲我的博客在子文件夾。

這是我到目前爲止的代碼。但第二個是覆蓋第一個。我怎樣才能讓WordPress的重定向只適用於子文件夾?

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC] 
RewriteRule ^(.*) http://www.domain.com/$1 [R=301,NE,L] 

ErrorDocument 404 /notfound/404.html 

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

回答

0

好吧,如果你的主要網站是www.domain.com和你的WP博客是www.domain.com/blog那麼爲什麼兩者WP和非WP規則是相同的.htaccess文件? 我的意思是,你的WP在一個子文件夾中的.htaccess應該在同一個子文件夾中,而主網站在根文件夾中有一個不同的.htaccess。

編輯:假設主網站不是WP,你應該有2個不同的.htaccess文件。第一個非WP規則進入主網站目錄,如下所示:

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC] 
RewriteRule ^(.*) http://www.domain.com/$1 [R=301,NE,L] 
ErrorDocument 404 /notfound/404.html 

二是隻是一個普通的WP .htaccess文件並進入WP目錄:

RewriteEngine On 
RewriteBase /blog/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog/index.php [L] 

這會做的伎倆。

+0

好吧,我已經把WordPress的代碼放到/ blog。但是我的博客然後停止工作。你知道我需要如何改變代碼嗎? – vinni

+0

好的,你可以發佈主要網站文件夾中的.htaccess內容和WP博客文件夾中的內容嗎? – bugnumber9

+0

所以第4條線將是主要的網站: 'RewriteEngine敘述在 的RewriteCond%{HTTP_HOST} ^域\ .COM $ [NC] 重寫規則^(。*)HTTP!(WWW \。)? //www.domain.com/$1 [R = 301,NE,L] 的ErrorDocument 404/NOTFOUND/404.html' ,而另一部分將是WordPress的: ' RewriteEngine敘述在 RewriteBase /博客/ 重寫規則^指數\ $ .PHP! - [L] 的RewriteCond%{} REQUEST_FILENAME -f 的RewriteCond%{} REQUEST_FILENAME -d 重寫規則! /blog/index.php [L] ' – vinni