2013-10-04 46 views
1

由於問題確實如此,我如何讓Wordpress將所有請求重定向到subdomain.domain1.com到www.domain2.com。如何讓Wordpress將所有請求重定向到subdomain.domain1.com到www.domain2.com

我有一個Windows Azure WordPress站點 - 我已經添加了下面的htaccess的文件,但似乎沒有要發生的事情:

Options +FollowSymLinks -MultiViews 
RewriteEngine on 

RewriteCond %{HTTP_HOST} ^(.*)subdomain.domain1.com/$ [NC] 
RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L] 
+0

當您使用點/週期/。在像你這樣的正則表達式中,它匹配任何字符(除了我相信的換行符外)。你應該使用反斜槓\ – Jonathon

回答

2

您的規則更改爲:

RewriteCond %{HTTP_HOST} ^subdomain\.domain1\.com$ [NC] 
RewriteRule^http://www.domain2.com%{REQUEST_URI} [R=301,L] 
  1. 確保將此規則放在.htaccess中所有其他規則的頂部。
  2. 確保在WP permalink settings

以下,以反映同一個域中的變化歸納爲答案的評論:

爲WordPress網站上託管在Azure上(因此IIS)你不使用的htaccess文件進行重寫,你實際上需要添加一個web.config這裏描述http://www.davebost.com/2013/07/11/moving-a-wordpress-blog-to-windows-azure-part-5-moving-from-a-subfolder-to-the-root

以下重寫規則將達到所要求的結果:

... 
<rule name="Redirects to www.domain2.com" patternSyntax="ECMAScript" stopProcessing="true"> 
    <match url=".*" /> 
    <conditions logicalGrouping="MatchAny"> 
     <add input="{HTTP_HOST}" pattern="^subdomain.domain1.net$" /> 
    </conditions> 
    <action type="Redirect" url="http://www.domain2.com/{R:0}" /> 
</rule> 
... 
+0

這仍然不起作用 - 爲什麼還有其他原因?我可以看到正確匹配正則表達式,但對我的網站的請求沒有正確重定向。 –

+0

你可以在不同的瀏覽器中測試嗎? – anubhava

+0

你也可以在Firebug窗口打開的情況下在Firefox/Chrome瀏覽器中打開請求,並查看你是否得到301響應兩次或只有一次? (你也可以在Unix命令行中使用curl/wget) – anubhava

相關問題