2013-11-09 347 views
1

我想用搜索查詢執行301重定向。301重定向到所有頁面

例如:abc.com應該重定向到abc.org ,如果有人想給abc.com/xyz.html進入,然後還必須重定向到abc.org/xyz.html

下面

是目前的htaccess部分。

RewriteRule pages/(.*) single.php?page=$1 [L,QSA] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^rss.xml$ rss.php [L] 
RewriteRule (.*)\.html song.php?q=$1 [L,QSA] 

回答

1

由於RewriteCond僅適用於接下來的RewriteRule,您目前的規則似乎有缺陷。隨着新規則有你的完整.htaccess是這樣的:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC] 
RewriteRule^http://www.newdomain.com%{REQUEST_URI} [ [R=301,L,NE] 

RewriteRule ^pages/(.*)$ single.php?page=$1 [L,QSA,NC] 

RewriteRule ^rss\.xml$ rss.php [L,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^([^.]+)\.html$ song.php?q=$1 [L,QSA,NC] 
0

假設目錄結構呆在域之間是相同的,你可以通過做以下幾點:

RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR] 
    RewriteCond %{HTTP_HOST} ^www.olddomain.com$ 
    RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L] 

如果目錄結構的確發生了變化,你可以在新領域的.htaccess使用附加規則文件來適當映射。