2012-06-17 77 views
1

我有一個Magento安裝多個網站。其中三個站點具有不同的SSL證書。 SNI不是一種選擇,所以我們決定使用不同的端口來處理請求。重定向https請求到不同的端口

在虛擬主機配置中,使用SSL的每個站點都被分配了不同的端口。

「https://domain1.com」 - >標準443

「https://domain2.com:444」

「https://domain3.com:445」

如果直接轉到這些請求,這些請求可以正常工作。 Magento正確處理所有請求。

這裏是擦:

如果你去「https://domain2.com」沒有端口號,你觸發domain1.com虛擬主機配置。

我需要一種方法來捕獲所有請求到https://domain2.com並將它們重定向到https://domain2.com:444

必須有一種方法可以用mod_rewrite或mod_proxy做到這一點。

回答

1

您可以使用mod_rewrite做到這一點,但這裏的問題是,你的證書,將不爲domain2.com,瀏覽器會抱怨(除非這些實際上是子域名,你有一個通配符證書)

將這些規則添加到domain1配置:

RewriteEngine On 
RewriteCond %{HTTP_HOST} domain2.com$ [NC] 
RewriteRule ^(.*)$ https://domain2.com:444/$1 [R=301] 

RewriteCond %{HTTP_HOST} domain3.com$ [NC] 
RewriteRule ^(.*)$ https://domain3.com:445/$1 [R=301] 
+0

試過了。一方面,它將整個站點推入444,除非我重置Magento以在該端口後面顯示整個站點,否則任何鏈接都不起作用。這將與地獄SEO。 也許還有另外一種方法可以解決這個問題。有沒有辦法將這些請求反彈回http://domain2.com? –

+0

啊,如果你不想重定向,試着將'[R = 301]'替換爲'[P]'? –

相關問題