背景和任务信息: 拥有旧.edu域名的外部组织提供从他们的.edu指向我们的主页www.some.foo.gov的DNS重定向 - 它有效。我的任务是将这些传入请求中的任何一个重定向到我们主站点上的特定页面 - 在Apache配置文件中。我没有成功尝试设置不需要的虚拟主机,以便将重定向放在适当的位置。重定向工作正常,但在另一个vhost的上下文中取消了非ssl重定向。
Apache配置文件代码:
<VirtualHost *:80>
ServerName www.edusite.edu
Redirect permanent / https://www.some.foo.gov/visitnewedusite.html
</VirtualHost>
<VirtualHost *:80>
ServerName www.some.foo.gov
ServerAlias www
DocumentRoot "/var/www/mainweb/html"
RewriteEngine on
RewriteCond %{HTTPS} off [NC]
RewriteRule (.*) https://www.some.foo.gov%{REQUEST_URI} [R=301] [L]
</VirtualHost>
现在,对http://www.some.foo.gov的任何请求都转到https://www.some.foo.gov/visitnewedusite.html而不是https://www.some.foo.gov。
如果添加循环保护是一个可行的解决方案,哪个虚拟主机块应包含代码,www.edusite.edu或www.some.foo.gov?
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]