htaccess SSL 重定向

htaccess SSL 重定向

目前,编码器在.htaccess文件中有以下行:

重写规则^registration$registration.php

我明白这意味着什么。

但是我还想将 domain.com/registration 重定向到 https://domain.com/registration

有人知道我该如何实现这一点吗?我不希望应用程序中的任何其他页面转到 https://...

问候,菲奥娜

答案1

您需要确保在执行重写之前流量尚未通过 HTTPS 进入,否则可能会陷入无限重写循环。

假设Apache 2.0及以上:

RewriteCond HTTPS 关闭
重写规则 ^/registration$ https://domain.com/registration.php

答案2

使用

RewriteRule ^/registration$ https://domain.com/registration.php

答案3

RewriteCond这对于防止重定向循环是必要的。但当RewriteCond HTTPS offApache 位于 Nginx 后面时,有时是无用的。

我遇到过必须使用另一个 Apache 变量的情况:

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

现在,在 2023 年通过 HTTPS 为所有网站提供服务是一个不错的选择,但如果你仍然只想重定向一个页面,请编写

RewriteCond HTTPS off
RewriteRule ^/registration$ https://%{HTTP_HOST}/registration.php

如上所示或

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^/registration$ https://%{HTTP_HOST}/registration.php

如果您的 Apache 位于反向代理 (例如 Nginx) 后面。

相关内容