【问题标题】:How do I make .htaccess redirect from a specific domain?如何从特定域进行 .htaccess 重定向?
【发布时间】:2011-11-21 02:40:46
【问题描述】:

我在站点的 .htaccess 文件的根目录中有以下指令:

# redirect to contact page
redirectMatch 301 ^(/about)/?$ /contact/

但是,该站点还托管其他几个域,这些域在根文件夹中显示为它们自己的目录。例如,http://mysite.com/anothersite/ 显示的内容与 http://anothersite.com 相同

因此,编写的重定向规则也将http://anothersite.com/about/ 重定向到http://anothersite.com/contact/

如何重写根 .htaccess 文件中的指令,使其仅适用于http://mysite.com/about/

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    这样的事情应该可以工作:

    RewriteCond %{HTTP_REFERER} ^.*mysite.com.*$ 
    RewriteRule ^(/about)/?$ /contact/   [R=301,L]
    

    【讨论】:

      【解决方案2】:

      试试

      RewriteCond %{HTTP_HOST} ^mysite\.com$ 
      RewriteRule ^about/? /contact/   [R=301,L]
      

      以上内容仅适用于 mysite.com。包括所有 mysite 子域,例如www 等和 mysite.com 使用

      RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9-]+\.)?mysite\.com$ 
      RewriteRule ^about/$ /contact/   [R=301,L]
      

      【讨论】:

      • 我修改了最后一条规则以修复错字,还包括纯 mysite.com 域。让我知道重定向是否有效(运行 Fiddler 等以捕获 HTTP 流量)。如果没有,您的 .htaccess 中可能还有其他可能会干扰的规则 - 将它们全部注释掉并自行尝试验证。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 2019-12-15
      • 1970-01-01
      • 1970-01-01
      • 2017-08-16
      • 2017-07-07
      • 1970-01-01
      相关资源
      最近更新 更多