【问题标题】:.htaccess allow both www and non-www.htaccess 允许 www 和非 www
【发布时间】:2020-11-04 03:27:28
【问题描述】:

我有可以像https://sub.example.com 一样访问的子域,但如果我这样做www.sub.example.com 它会返回

找不到服务器

目前没有任何.htaccess 文件,如果我输入sub.example.com,它会转到https://sub.example.com,如果我输入www.sub.example.com,我希望同样的事情发生

有什么想法吗?

【问题讨论】:

  • “未找到服务器” - 这是一个 DNS 问题。
  • @MrWhite DNS 是由 cloudflare 为 non-wwwwww 设置的'必须为我的子域购买单独的 SSL 或使用我选择了第二个的 cloudflare 规则选项,它工作正常。

标签: regex apache .htaccess redirect mod-rewrite


【解决方案1】:

请您尝试关注一下。

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [R=301,NC,L]

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


或者,如果每个请求都必须是 https 并且没有 www,那么我们可以尝试一下。

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

【讨论】:

  • 您介意解释一下吗?我不太确定RewriteRule ^(.*)$ http://www.%1/$1 [R=301,NC,L]
  • 而且我认为您所有的重定向链接都包含www 我不想在我的网址中包含www 只是https://sub.example.com
  • @mafortis,如果我弄错了,对不起。那么您希望每个 URL 都转到 https 吗?请确认一次好吗?
  • 我用代理网站测试过仍然没有用,但是我已经通过 cloudflare 完成了规则并修复了它:D,我会接受你的回答,虽然我不确定如果它是 100% 正确的,但在这里我也将 article reference 的 cloudflare 规则留给其他人。谢谢
  • "cloudflare" - 这应该在问题中说明。 “未找到服务器”是 DNS/Cloudflare 问题。请求甚至没有到达服务器,所以任何数量的.htaccess/mod_rewrite 魔法都无法解决这个问题。
猜你喜欢
  • 2011-06-17
  • 2019-01-28
  • 1970-01-01
  • 2012-07-01
  • 2014-12-16
  • 2013-04-22
  • 2014-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多