2014-12-04 133 views
1

我有以下重定向在httpd.conf其重定向subdomain.domain.com設置爲domain.com/topics/appsHTTPS重定向到特定的URL

RewriteCond %{HTTP_HOST} ^subdomain.domain.com$ [OR]<br> 
RewriteCond %{HTTP_HOST} ^www.subdomain.domain.com.gov$<br> 
RewriteRule ^/(.*)$ http://www.domain.com/topics/apps[R=301] 

但如果我嘗試以https一樣,它將不會重定向到該頁面,但會顯示domain.com主頁(不重定向)。我想這是因爲subdomain.domain.com的DNS條目也與domain.com具有相同的IP。

你們能否建議修復這個https重定向到http://domain.com/topics/apps

謝謝, Sudeer。

回答

0

你需要建立一個虛擬主機的端口443,並把它設置爲命名的虛擬主機,當IP是相同的但名稱不同。

NameVirtualHost *:443 

<VirtualHost *:443> 
    ServerName myserver.de 
    RewriteEngine On 
    RewriteLog /var/log/httpd/rewrite.log 
    RewriteLogLevel 0 

    RewriteCond %{HTTP_HOST} ^subdomain.domain.com$ [OR] 
    RewriteCond %{HTTP_HOST} ^www.subdomain.domain.com.gov$ 
    RewriteRule ^/(.*)$ http://www.domain.com/topics/apps[R=301] 
</VirtualHost> 
+0

謝謝,這工作。 – Sudeer 2014-12-09 14:08:10

+0

如果它有效,請點擊左邊的複選標記接受我的答案。謝謝! – Chris 2014-12-10 08:50:08

0

我的經驗是,默認情況下,Apache在另一個端口上處理SSL並單獨使用VirtualHost。查找正在收聽443VirtualHost並在那裏設置重定向。

0

你有權訪問Vhosts嗎?如果是的話,我會跳過重寫,並簡單地做到這一點(和重新啓動的httpd):

<VirtualHost *:443> 
    ServerName subdomain.domain.com 
    ServerAdmin [email protected] 
    DocumentRoot this/needs/to/exist 
    Redirect permanent/http://domain.com/topics/apps 
</VirtualHost>