我正在运行一个 apache2 实例,并且正在运行 HTTPS 重定向:
<IfModule mod_ssl.c>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www"
ServerName www.myco.com
ServerAlias myco.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www
ServerName www.myco.com
ServerAlias myco.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
...
运行良好。我决定需要在 httpd 上启用非加密 vHost,以加快一些内部传输速度,但我删除了配置中的 Rewrite 行,使 DocRoot 特定于 /var/www/other,并添加了一些常规 HTTP 指令,例如来自上述 HTTPS 配置的 Directory 相关指令的副本(但路径不同)。
当我这样做时,/etc/init.d/apache2 restart
它重新启动,日志中没有错误,但网站仍然在我缓存清空的浏览器中重定向。
我仍然需要 SSL 站点正常运行,但如果我在端口 80 上访问站点时想要不同的内容怎么办?