.htaccess SSL重定向的重写引擎
my.htaccess的相关设置粘贴在下面。很好,除了。。。如果我键入,它不会重定向到。另一方面,如果我键入,它将正确重定向到。我想两者都重定向到。非常感谢您对正则表达式(我的一个盲点)进行必要的调整.htaccess SSL重定向的重写引擎,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,my.htaccess的相关设置粘贴在下面。很好,除了。。。如果我键入,它不会重定向到。另一方面,如果我键入,它将正确重定向到。我想两者都重定向到。非常感谢您对正则表达式(我的一个盲点)进行必要的调整 RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}/www%{REQUEST_URI} [L,R=301] 如果您使用的是apache,则不推荐使用.htaccess文件进行重定向。(
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/www%{REQUEST_URI} [L,R=301]
如果您使用的是apache,则不推荐使用.htaccess文件进行重定向。(您可以看看。他们建议直接在主服务器文件中使用
重定向
指令。您可以这样做:
<VirtualHost *:80>
ServerName www.example.com
Redirect / https://www.example.com/www/
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
Redirect / https://www.example.com/www/
# ... SSL configuration goes here
</VirtualHost>
很遗憾,我在此服务器上没有root访问权限,因此.htaccess是我唯一的选项。不带
RewriteCond%{HTTPS}的规则off
会导致重定向循环,因为它会将https
URL重定向回https
。在这种情况下,RewriteCond很重要。非常感谢。工作非常完美。现在我看到它了。被正则表达式恐惧蒙蔽了!
RewriteEngine on
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_URI}/ www
RewriteRule ^(.*) %{HTTP_HOST}%/www/%{REQUEST_URI} [R=302,NC]
RewriteRule ^(.*) %{HTTP_HOST}%/www/%{REQUEST_URI} [R=302,NC]