.htaccess 将所有文件重定向到HTTPS

.htaccess 将所有文件重定向到HTTPS,.htaccess,mod-rewrite,redirect,.htaccess,Mod Rewrite,Redirect,我想将所有http和https重定向到一个域,因此我想知道要添加到.htaccess文件中的代码,以便重定向: 从:HTTPnon www+HTTPwww+HTTPSwww到:HTTPSnon www 我找到了以下答案: RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https:// %{HTTP_HOST}%{REQUEST_URI} 但它重定向到HTTPSwww,据我所知,我的应该重定向到HTTPSnon www 提前

我想将所有http和https重定向到一个域,因此我想知道要添加到.htaccess文件中的代码,以便重定向:

从:HTTPnon www+HTTPwww+HTTPSwww到:HTTPSnon www

我找到了以下答案:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https:// %{HTTP_HOST}%{REQUEST_URI}
但它重定向到HTTPSwww,据我所知,我的应该重定向到HTTPSnon www


提前感谢。

如果您总是重定向到一个始终相同的特定域,那么您只需要将它而不是%{HTTP_HOST}放在您的重写规则中。 %{HTTP_HOST}告诉您使用与重定向源相同的HTTP主机名。但是您需要有自己的目的地名称,而不是从源中复制

大概是这样的:

RewriteEngine On
RewriteRule (.*) https://mydomain.com/%{REQUEST_URI}

注意:请确保目标域没有相同的规则来避免循环重定向。

我添加了它,结果它现在有一个重定向循环。。我现在该怎么办?这就是为什么我建议检查目的地并没有重定向规则,这样它就不会循环。你需要确保重写规则在那里不适用/不存在。我对这方面很陌生。。这样就不会再发生这种事了。我在SEO Yoast Wordpress HTAccess文件中添加了它,但是如果我通过FTP下载HTAccess文件,我似乎找不到规则。你知道如何解决这个问题吗?这在很大程度上取决于你的配置。通常,您可能希望对每个域有单独的重写规则,这样您就可以更好地控制谁重定向,谁不重定向。或者您可以添加RewriteCond%{HTTP_HOST}!mydomain.com位于第1行和第2行之间,这样,当HTTP_主机为mydomain.com时,您的重写规则将不适用。但是,我认为为每个域分离重写规则可能更容易管理。