我在httpd.conf中设置了以下重定向,将subdomain.domain.com重定向到domain.com/topics/apps
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 :(得分:0)
我的经验是,默认情况下,Apache在不同的端口上使用单独的VirtualHost
处理SSL。查找正在监听VirtualHost
的{{1}}并在那里设置重定向。
答案 1 :(得分:0)
您是否可以访问虚拟主机?如果是这样,我会跳过重写并简单地执行此操作(并重新启动httpd):
<VirtualHost *:443>
ServerName subdomain.domain.com
ServerAdmin you@you.com
DocumentRoot this/needs/to/exist
Redirect permanent / http://domain.com/topics/apps
</VirtualHost>
答案 2 :(得分: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>