【问题标题】:.htaccess redirect to another domain except admin page.htaccess 重定向到除管理页面之外的另一个域
【发布时间】:2018-09-21 10:33:13
【问题描述】:

我之所以问,是因为我无法终其一生找出问题所在,到目前为止,StackOverflow 的答案都没有奏效。

我必须将域重定向到另一个子域,管理员除外。例如:

sub1.domain.com/testsite/ 应该重定向到“sub2.domain.com/testsite/”, 但 sub1.domain.com/admin/ 或 "sub1.domain.com/de/admin/" 应该留在原处。

作为第一步,我尝试只检查“admin”,因此除了“sub1.domain.com/admin/”之外的所有内容都会被重定向:

RewriteCond %{HTTP_HOST} ^sub1\.domain\.com
RewriteCond %{REQUEST_URI} !^\/admin
RewriteRule ^/?(.*)$ http\:\/\/sub2\.domain\.com%{REQUEST_URI} [R=301,L]

这个看起来最有希望,但它不起作用。第二个条件不起作用,管理页面仍然被重定向。

如果有人可以提供帮助,我将不胜感激。


编辑: 我应该说它是一个多域站点,这意味着我们对所有站点都有一个 .htaccess 文件,这就是我专门检查域的原因。

【问题讨论】:

    标签: apache .htaccess drupal


    【解决方案1】:

    我只是发布这个,但我无法测试它! 但我想这会重定向除一个域之外的所有内容。

    RewriteCond %{HTTP_HOST} !^sub1.domain.com/admin/ [NC]
    RewriteRule ^/(.*)$http\:\/\/sub2\.domain\.com%{REQUEST_URI} [R=301,L,NC]
    

    我希望它有效!

    【讨论】:

      【解决方案2】:

      所以,

      我刚刚找到了原因(除了我的愚蠢)。我应该重定向的站点是 Drupal 站点。这就是为什么所有链接最终都在同一个位置:

      sub1.domain.com/index.php

      我上面的重写条件不起作用的原因是,sub1.domain.com/admin 被重定向到 sub1.domain.com/index.php,结果是:“sub2.domain.com/索引.php”。正确的重写规则如下所示:

       RewriteCond %{HTTP_HOST} ^sub1\.domain\.com
       RewriteCond %{REQUEST_URI} !^/(admin|index\.php|de\/admin|it\/admin|user|de\/user|it\/user)
       RewriteRule (.*) http://sub2.domain.com%{REQUEST_URI} [R=301,L]
      

      这会重定向所有内容,除了:

      sub1.domain.com/admin
      sub1.domain.com/de/admin
      sub1.domain.com/it/admin
      sub1.domain.com/user
      sub1.domain.com/de/user
      sub1.domain.com/it/user
      

      当然

      sub1.domain.com/index.php
      

      由于如果用户直接输入最后一个也不应该重定向,这不是一个完美的解决方案,但我可以接受。

      【讨论】:

        【解决方案3】:

        RewriteCond 用于检查条件天气是否执行.htacess

        对于您的情况,解决方案可能如下:-

        Options +FollowSymLinks
        RewriteEngine On
        RewriteCond %{HTTP_HOST} ^domain\.com [NC]
        RewriteRule ^(admin)$ http://sub1.domain.com/$1 [R=301,L]
        RewriteRule ^(.*)$ http://sub2.domain.com/$1 [R=301,L]

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-09-13
          • 1970-01-01
          • 1970-01-01
          • 2016-12-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多