[英]HTTPS redirect for directory doesn't work correctly
我的目标是强制在我网站的admin
目录上使用HTTPS。 但是,使用通常的方法会得到不同寻常的结果。 这是.htaccess
的内容:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} admin
RewriteRule ^(.*)$ https://www.domain.com/admin/$1 [R,L]
但是,当我尝试打开http://www.domain.com/admin/home.php
,没有将其重定向到https://www.domain.com/admin/home.php
而是将我发送到https://www.domain.com/admin/admin/home.php
。
因此,它会两次创建URL的admin/
部分。
我尝试将.htaccess
的最后一行更改为RewriteRule ^(.*)$ https://www.domain.com/$1 [R,L]
(对我来说没有意义,但仍然尝试了),重定向到相同的错误URL,这进一步使我感到困惑。
我不确定是否应该这样做,但是我也尝试按照SO上其他地方的建议用[L,R=301]
替换[R,L]
,但无济于事。
为什么会发生这种情况,解决方案是什么?
这是由于目标网址中的/admin/
。 将规则更改为此:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^admin(/.*)?$ https://www.domain.com%{REQUEST_URI} [R,L,NC]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.