【问题标题】:htaccess redirect third level domain on the main onehtaccess 重定向主域上的第三级域
【发布时间】:2017-07-09 22:32:41
【问题描述】:

我必须解决这个简单的情况。我有一堆三级域,例如:oldthirdlevel.example.com,我想在 www.example.com 的主域上重定向。我已经尝试在文件.htaccess 上进行简单的 301 重定向,但没有任何成功。我想将各种路径重定向到主域的主页,例如:

oldthirdlevel.example.com/whatever --> www.example.com
oldthirdlevel.example.com/otherthings --> www.example.com

这是我的文件:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldthirdlevel.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

但我收到 500 内部服务器错误。

【问题讨论】:

  • 在您的示例中,您没有提到将旧路径添加到主域 url .: 仅 www.example.com。第二:你错过了重写规则中的 www (不应该导致 500 错误,但仍然
  • 如果是关于“一堆”。是否可以说:当域不等于 www.example.com 时:RewriteCond %{HTTP_HOST} !^www\.domeinnaam\.tld$RewriteRule ^.*$ http://www.domeinnaam.tld/$0 [R=301,L]
  • @IvoP 也许我忘记了一件重要的事情。所有这些第三级域都有单独的托管。我现在有点困惑,我必须更改三级域或主域服务器上的 .htaccess 吗?主域使用专用服务器,三级域有单独的托管服务提供商。
  • 您的浏览器将尝试访问 oldthirdlevel.example.com。然后在旧主机上寻找它不会更好。在那里,您需要一个带有 rewriterule 的 .htaccess 文件来将访问的浏览器重定向到新位置(在 www.hosting 上)
  • 考虑在一个托管环境中拥有所有这些子域。您甚至可以使用与 www 相同的 docroot。您需要在 vhost 文件中告诉 Apache。您需要更改子域的 dns 设置

标签: php apache .htaccess redirect mod-rewrite


【解决方案1】:

如果是关于“一堆”。是否可以选择说:当域不等于 www.example.com 时:

 RewriteCond %{HTTP_HOST} !^www\.example\.tld$ 
 RewriteRule ^.*$ http://www.example.tld/$0 [R=301,L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    相关资源
    最近更新 更多