【问题标题】:redirection to naked domain only仅重定向到裸域
【发布时间】:2021-03-03 23:20:30
【问题描述】:

在我的 Apache 2.4 网络服务器上,我配置了一个虚拟主机来将 http 上的所有请求重定向到 https,它工作正常。我想通过添加以下规则来改进它:

如果用户请求http://www.domain.example重定向到https://domain.example

我当前的虚拟主机定义(适用部分)如下:

RewriteEngine on
RewriteCond %{SERVER_NAME} =www.domain.example [OR]
RewriteCond %{SERVER_NAME} =domain.example
RewriteCond %{HTTP_HOST} !=mail.domain.example
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

我知道我必须更改 {SERVER_NAME} 部分,大概我必须放在那里

RewriteRule ^ https://domain.example%{REQUEST_URI} [END,NE,R=permanent] 

但这是一个生产环境,我无法对此进行测试。

【问题讨论】:

  • 此重定向是否有任何错误?
  • 没有。但它会将domain 重定向到domain,而我现在希望它重定向到domain

标签: redirect virtualhost apache2.4


【解决方案1】:

您可以使用它来强制 httpsnon-www

RewriteEngine on


RewriteCond %{SERVER_NAME} ^www\.domain\.example$ [NC,OR]
RewriteCond %{HTTPS} off
RewriteCond %{SERVER_NAME} ^(www\.)?(.+)$
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]

在第一个条件中将www.domain.example替换为您的真实域名,并确保在测试此新规则之前重新启动您的网络服务器。

【讨论】:

    猜你喜欢
    • 2015-01-07
    • 1970-01-01
    • 2021-07-30
    • 2014-03-29
    • 2015-03-03
    • 1970-01-01
    • 2013-10-31
    • 2014-08-22
    • 1970-01-01
    相关资源
    最近更新 更多