【问题标题】:Wildcard subdomains redirected to www with htaccess使用 htaccess 将通配符子域重定向到 www
【发布时间】:2012-01-21 16:22:00
【问题描述】:

StackOverflow 上似乎有一百万篇关于这个主题的帖子,但似乎没有一个是我所追求的。

基本上,我正在尝试将所有随机不存在的子域重定向到 URL 的“www”版本。

例如,如果有人在地址栏中键入“whatever.mydomain.com”,则应重定向到“www.mydomain.com”。这也是一个 WordPress 驱动的网站,所以我想知道 WP 现有的重写规则是否会导致我尝试过的许多代码都发生重定向循环。

还应该注意的是,目前该站点从非 www 版本重定向到 www 版本,但我终生无法找到发生这种情况的位置。它不在 .htaccess 文件中,我不知道在哪里可以找到它。

谢谢。

【问题讨论】:

  • 这篇文章有帮助吗? forums.serverbeach.com/…
  • 首先,您的 DNS 记录中需要有一个通配符域条目。然后,您将其作为别名添加到您的主域。至于现有的 www 重定向,您是否检查了域的 VirtualHost?

标签: wordpress apache .htaccess mod-rewrite subdomain


【解决方案1】:

尝试在 mydomain.com 的根文件夹中的 .htaccess 文件顶部添加它

RewriteEngine on
RewriteBase /

#for all requests on mydomain.com
RewriteCond %{HTTP_HOST} mydomain\.com$ [NC]
#if they are not for the www.mydomain.com
RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ [NC]
#301 redirect to www.mydomain.com
RewriteRule (.*) http://www.mydomain.com/$1 [R=301,L] 

【讨论】:

  • 这会导致重定向循环。我想我的 DNS 设置可能有冲突。
  • 我有一个错字:重定向到mydomain.com 而不是www.mydomain.com,这会导致循环。固定在上面
  • 我与我的主人交谈,一位乐于助人的技术人员为我编写了重写规则。我没有足够的代表点来这么快回答我自己的问题,但是当我这样做时,我会发布它,可能是明天的某个时候。
  • 另外,我在上面测试了您的解决方案,它确实有效。稍后我会发布另一个。再次感谢。
猜你喜欢
  • 2019-01-23
  • 2014-11-12
  • 1970-01-01
  • 2018-03-27
  • 2015-03-12
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 2015-11-21
相关资源
最近更新 更多