【发布时间】:2017-01-01 12:40:50
【问题描述】:
我在 Apache 2.4.7 上有一个带有 https 的网站
我想要: http://example.com 转发到https://example.com
请注意,此 URL 没有尾部斜杠!
和
http://example.com/whatever 转发到https://example.com/whatever/
请注意,此 URL 的尾部有斜杠!
目前我有以下:
<VirtualHost *:80>
ServerName example.com
ServerAlias *.example.com
Redirect / https://example.com
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias *.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/example.com/
SSLEngine on
SSLCertificateKeyFile /etc/ssl/ssl.key/example.com.key
SSLCertificateFile /etc/ssl/ssl.crt/example.com.crt
SSLCertificateChainFile /etc/ssl/ssl.crt/example.com.ca-bundle
<Directory /var/www/example.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example-error.log
CustomLog ${APACHE_LOG_DIR}/example-access.log combined
</VirtualHost>
以上将http://example.com正确转发到https://example.com。
可惜上面也转发了:
http://example.com/foo/bar 到 https://example.comfoo/bar 而不是 https://example.com/foo/bar/
【问题讨论】:
-
你说你想将
http://example.com/whatever重定向到https://example.com/whatever/,后来你说http://example.com/foo/bar应该重定向到https://example.com/foo/bar。如果原始请求中不存在斜杠,您是否要添加斜杠? -
好收获。固定!
标签: apache apache2 vhosts apache2.4