将Apache www,https:// www重定向到https非www URL

时间:2019-07-16 15:17:38

标签: apache .htaccess redirect

我知道它已经重复了很多次,但是我保证我尝试了许多不同的方法,但仍然对我不起作用。

我有一个https://example.com,它从http和www重定向,但没有覆盖所有URL。

我要重定向

  1. www.example.comhttps://example.com
  2. https://www.example.comhttps://example.com
  3. https://www.example.com/abouthttps://example.com/about
  4. https://www.example.com/#blahhttps://example.com/#blah

这是我上次尝试的.htaccess代码

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS}        =off   [OR]
    RewriteCond %{HTTP_HOST}    ^www.example\.com$
    RewriteRule ^(.*)$          "https://example.com/$1" [R=301,L]
</IfModule>

----------------------已更新------------------

我不知道它是如何工作的。我替换了许多不同的规则,但这仅是一条规则。

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www. [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]

1 个答案:

答案 0 :(得分:0)

将您的规则更改为:

<IfModule mod_rewrite.c>

    RewriteEngine On
    RewriteBase /

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

    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://example.com/$1 [R=301,L]

</IfModule>