【问题标题】:How would I redirect two domains using .htaccess如何使用 .htaccess 重定向两个域
【发布时间】:2010-03-27 07:51:49
【问题描述】:

我正在尝试将一个域重定向到根目录,将另一个域重定向到目录。我遇到的问题是第二个域覆盖了第一个重定向。

这就是我所拥有的。

RewriteEngine On
RewriteCond %{HTTP_HOST}  !^http://example.site.net$ [NC]
RewriteCond %{REQUEST_URI} !^/.*$
RewriteRule ^(.*)$  / [L]

RewriteEngine On
RewriteCond %{HTTP_HOST} !^http://example2.com [NC]
RewriteCond %{HTTP_HOST} !^http://www.example2.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{REQUEST_URI} !^/example2_directory/
RewriteRule ^(.*)$ /example2_directory/$1   

【问题讨论】:

    标签: .htaccess mod-rewrite dns


    【解决方案1】:

    那是因为 'example2.com' 和 'www.example2.com' 不是 'example.site.net',就像您的 .htaccess 规则所述...

    如果您希望这些规则适用于这些特定域,则需要删除“!”在他们面前。否则,您需要解释哪些特定域需要指向什么,而不仅仅是“一个域”和“另一个域”。

    编辑:另外,您的 HTTP_HOST 条件不应包含“http://”。

    【讨论】:

      【解决方案2】:

      我认为您可能没有意识到您正在否定与“!”的比较

      另外,您不必打开引擎两次。

      试试这个:

      RewriteEngine On
      RewriteCond %{HTTP_HOST}  ^http://example.site.net$ [NC]
      RewriteCond %{REQUEST_URI} !^/.*$
      RewriteRule ^(.*)$  / [L]
      
      RewriteCond %{HTTP_HOST} ^http://example2.com [NC]
      RewriteCond %{HTTP_HOST} ^http://www.example2.com [NC]
      RewriteCond %{HTTP_HOST}   !^$
      RewriteCond %{REQUEST_URI} !^/example2_directory/
      RewriteRule ^(.*)$ /example2_directory/$1  
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-24
        • 2011-02-02
        • 1970-01-01
        相关资源
        最近更新 更多