Apache 双条件重定向

Apache 双条件重定向,apache,.htaccess,redirect,Apache,.htaccess,Redirect,我想将我的页面永久重定向到https+www 我正在使用下面的代码,但当我输入时它不起作用。它什么也不做,只显示页面而不添加www RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L,NE] 试着这样做: RewriteEngine on RewriteC

我想将我的页面永久重定向到https+www

我正在使用下面的代码,但当我输入时它不起作用。它什么也不做,只显示页面而不添加www

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L,NE]
试着这样做:

RewriteEngine on

RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.example.com%{REQUEST_URI} [R=301,L,NE]

在测试之前,请确保清除缓存。

给定的重定向规则没有问题。问题似乎是OP正在执行
节中显示的规则。如果请求是
https://
,这些规则显然不会触发。OP可以执行以下两种操作之一来修复问题:

  • 部分也保留相同的重定向规则-
  • 将规则保存在公共位置,如
    .htaccess

  • 在此规则之前,您的.htaccess中还有其他规则吗?@anubhava谢谢您的回答。不,我没有。你的规则看起来应该有效。您的服务器上是否启用了mod rewrite?@starkeen是的,因为当URL不包含https或www时,它会通过www重定向到https。当您转到https://时会出现什么错误?谢谢您的回答,但它不起作用。当url已经有https时,它不会添加www。事实上,我没有想到它会影响规则。再次感谢你。