HTTPS RewriteCond有两个/路由

时间:2018-03-29 08:57:40

标签: mod-rewrite https

我有这样的网址:

http://name.co/othername/xname 
http://name.co/othername/yname

所以name.co / othername是相同的。只是' xname'正在变为另一种。

我需要重定向到HTTPS端。

我试过了:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

但结果不正确。如果有人可以帮助我会很高兴

1 个答案:

答案 0 :(得分:1)

REQUEST_URI将排除查询字符串。此外,您需要标志,至少[R]和通常[L]。在这种情况下,您可能需要301重定向,除非您认为以后可能会将其关闭。尝试将RewriteRule替换为:

RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]

R标志意味着实际向浏览器发送重定向,而不是仅仅改变URL在内部的处理方式; L标志表示这是应该处理的最后一个指令;它会快速处理剩余的处理过程,并避免其他规则做出任何其他更改。