昨天我问了一个关于这个的问题但是我的httpd.conf仍然有问题。
我想要发生的是:
用户请求http://www.mysite.com/
或mysite.com
等。然后将其重定向到https://www.mysite.com/shop/
我还想确保/shop
子目录下的任何请求都被重写为HTTPS,即使用户输入http://www.mysite.com/shop/help/
它也会被重写为{{1} }}
这是我现在的配置,但无效。
https://www.mysite.com/shop/help/
答案 0 :(得分:1)
首先,确保mod_rewrite在服务器收到请求时启动。例如,将所有请求从HTTP主机重定向到HTTPS服务器
<VirtualHost *:80>
RewriteEngine on
RewriteRule .* https://%{HTTP_HOST}/shop/ [R,L]
</VirtualHost>
然后尝试
<VirtualHost *:80>
RewriteEngine on
RewriteRule ^/?shop/(.*) https://%{HTTP_HOST}/shop/$1 [NC,R=301,L]
RewriteRule ^/?$ https://%{HTTP_HOST}/shop/ [R=301,L]
# other directives
</VirtualHost>
<VirtualHost *:443>
RewriteEngine on
RewriteRule ^/?$ https://%{HTTP_HOST}/shop/ [R=301,L]
# other directives
</VirtualHost>