.htaccess 我的网站http://www.alfarestents.com/ 到https://www.alfarestents.com/ 重定向不';行不通

.htaccess 我的网站http://www.alfarestents.com/ 到https://www.alfarestents.com/ 重定向不';行不通,.htaccess,redirect,https,.htaccess,Redirect,Https,http://www. my的版本未重定向到https版本(所有其他变体均已正确重定向) 网站网址: 访问代码: RewriteEngine On RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ RewriteCond %{HTTPS} ^on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteBase / RewriteCond %{HTTP_HOST} ^alfar

http://www. my的版本未重定向到https版本(所有其他变体均已正确重定向)

网站网址:

访问代码:

RewriteEngine On 


RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS} ^on 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteBase /
RewriteCond %{HTTP_HOST} ^alfarestents.com [NC]
RewriteRule ^(.*)$ https://www.alfarestents.com/$1 [L,R=301]


让我们从头开始:

RewriteEngine On 
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,R=301,END]
最好从
R=302
临时重定向开始,并在一切正常后将其更改为
R=301
永久重定向


您应该在真实http服务器的主机配置中实现这些规则。您也可以使用分布式配置文件,但这会带来性能损失。您还需要首先启用对此类文件的考虑。

谢谢Olsen。我已经编辑了内容问题是第一个条件模式
^[^.]+\.[^.]+$
,它将不接受带有两个点的主机名。只需将其增强为类似于
^(www\)?[^.]+\.[^.]+$
的内容,这里还有一些其他奇怪的细节,实际上我认为这些规则都不起作用。在我看来你实现了无尽的循环。。。第二个条件不应该包含否定吗?第二条改写规则到底有什么意义呢?@arkascha谢谢,让我修改一下,再试一次。@arkascha我用有限的知识试过了。更改初始代码如下^(www\.)?[^.]+\.[^.]+$也将尝试。谢谢