对所有域强制https(我不明白)

时间:2011-04-07 18:24:40

标签: .htaccess

以下似乎适用于强制https。我把它放在一个通配符子域的目录中。

例子: abc.phppointofsale.com,def.phppointofsale.com等等

RewriteEngine On 
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

这是否意味着如果https未启用,则匹配任何内容并重定向到SERVER_NAME + REQUEST_URI。

SERVER_NAME定义在哪里?我可以使用HTTP_HOST吗?有什么区别?

另外,为什么在已经有RewriteCondition时你需要重写规则中的匹配模式?

有人能指点我一个关于重写的好教程吗?

谢谢,

克里斯

1 个答案:

答案 0 :(得分:0)

RewriteCond不进行任何重定向。这只是RewriteRule的一种条件,如果你愿意,那就是“if语句”。

您也可以使用HTTP_HOST。 SERVER_NAME将是Apache配置中虚拟主机上的“官方”名称,而HTTP_HOST将是用户浏览器提供的主机名。