JJ1*_*100 4 apache .htaccess mod-rewrite redirect
如何仅将 HTTP 子域重定向到 HTTPS 子域.htaccess?主站点在 WordPress 中,并且已经通过插件重定向到 HTTPS,但子域是 PHP 创建的站点。我在这里查看并没有看到最终的解决方案。
我复制并粘贴了这个建议的代码,但它什么也没做:
#Redirect Subdomain
RewriteEngine on
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$ [NC]
RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)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 前端控制器之前进行。
这也假设您的 SSL 证书直接安装在您的应用程序服务器上,而不是代理。
请尝试以下操作:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com [NC]
RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Run Code Online (Sandbox Code Playgroud)
这会检查HTTPS不包含“on”的内容,并且在重定向到同一主机上的 HTTPS 之前正在请求子域。
尽管如果 WP 只是重定向主域,那么您可以执行所有这些操作.htaccess,只需删除检查HTTP_HOST. 尽管如果您有其他不应重定向到 HTTPS 的子域,请更改CondPattern以仅匹配子域或主域(以及 www 子域)。例如:
RewriteCond %{HTTP_HOST} ^((subdomain|www)\.)?example\.com [NC]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10071 次 |
| 最近记录: |