【问题标题】:how to 302 redirect a request, unless its for a particular subdomain/folder? [closed]如何 302 重定向请求,除非它针对特定的子域/文件夹? [关闭]
【发布时间】:2012-02-10 15:35:17
【问题描述】:

基本上我想将 Domain1.com 的请求重定向到 Domain2.com,但如果请求是针对 Domain1.com/blog(或 /blog/)的,则根本不重定向,并留在 Domain1.com 域上。这仅适用于这个特定的文件夹/目录。

【问题讨论】:

    标签: .htaccess dns forwarding


    【解决方案1】:
    RewriteEngine on
    RewriteBase /
    #redirect to domain2 if on domain1.com and path doesn't start with /blog
    RewriteCond %{HTTP_HOST} !=domain1.com
    RewriteCond $0 !^blog
    RewriteRule .* http://domain2.com/$0
    

    【讨论】:

      【解决方案2】:

      在您的 RewriteRule 上方的 HTTP_HOST 周围添加一个 RewriteCond 进行重定向。你甚至可以为你不想重定向的那个写它,然后否定它。

      例如:

      RewriteCond %{HTTP_HOST} !=Domain1.com
      

      请注意,您可以有多个 RewriteConds,但每个分组(一个或多个)仅适用于下一个 RewriteRule*。

      【讨论】:

      • 我正在尝试这个,但在 /pics 文件夹上出现重定向循环 RewriteCond %{HTTP_HOST} =domain1.com/blog Redirect 302 / domain1.com RewriteCond %{HTTP_HOST} !=domain1.com/blog Redirect 302 / @ 987654325@
      • @GrapeCamel - 此 RewriteCond 将仅与主机名/域名进行比较。您不能将 /blog 包含在其中 - 您应该将其作为关联 RewriteRule 的一部分包含在此 RewriteCond 下方。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      • 2021-07-03
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多