gpt4 book ai didi

apache - 在htaccess中仅将HTTP子域重定向到HTTPS子域

转载 作者:行者123 更新时间:2023-12-03 23:15:08 27 4
gpt4 key购买 nike

如何仅将 HTTP 子域重定向到 .htaccess 中的 HTTPS 子域?主站点在 WordPress 中,并且已经通过插件重定向到 HTTPS,但子域是 PHP 创建的站点。我在这里查看并没有看到最终的解决方案。

我复制并粘贴了这个建议的代码,但它什么也没做:

#Redirect Subdomain
RewriteEngine on
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$ [NC]
RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

最佳答案

RewriteEngine on
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$ [NC]
RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


这将创建一个重定向循环(如果执行的话)。为了从 HTTP 重定向到 HTTPS,您需要首先检查您尚未使用 HTTPS(否则您将获得重定向循环)。

这些指令需要放在 .htaccess 中在您的子域的文档根目录中。或者在你的根 (WordPress) 的顶部 .htaccess如果子域指向主站点的文档根目录。重要的是重定向必须在 WordPress 前端 Controller 之前进行。

这也假设您的 SSL 证书直接安装在您的应用程序服务器上,而不是代理。

请尝试以下操作:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com [NC]
RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

这会检查 HTTPS不包含“on”,并且在重定向到同一主机上的 HTTPS 之前正在请求子域。

尽管如果 WP 只是重定向主域,那么您可以在 .htaccess 中完成所有这些操作并简单地删除检查 HTTP_HOST 的条件.尽管如果您有其他不应重定向到 HTTPS 的子域,则更改 CondPattern 以仅匹配子域或主域(和 www 子域)。例如:
RewriteCond %{HTTP_HOST} ^((subdomain|www)\.)?example\.com [NC]

关于apache - 在htaccess中仅将HTTP子域重定向到HTTPS子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52537839/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com