我试图在重写htaccess中的链接时强制HTTPS,但运气不好…
这是我的原始代码。
RewriteRule ^Shopping-Cart/ shoppingCart/shoppingCart.php [L]
然后我添加了强制HTTPS的代码。
RewriteCond %{HTTPS} !=on
RewriteRule ^Shopping-Cart/ https://myserver.com/shoppingCart/shoppingCart.php [L]
但是当从链接加载myserver.com/Shopping-Cart/
时,它总是以https://myserver.com/shoppingCart/shoppingCart.php
结束
谁能给我点提示吗?
谢谢!
发生这种情况是因为我相信您无法隐藏这是一个安全链接的事实。即https
。因此,即使Apache设置为只使用[L]
,它仍然会进行重定向,因为它正在更改为https
协议。
你需要改变你的htaccess首先加载https
,然后处理mod_rewrites。试,
RewriteEngine On
RewriteCond %{HTTPS} !^on
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^Shopping-Cart/? shoppingCart/shoppingCart.php [L]