【问题标题】:htaccess rewrite to sub-domainhtaccess 重写到子域
【发布时间】:2011-12-23 14:44:03
【问题描述】:

您好,我有一个独立站点,位于主服务器的子目录中。

子目录站点中的所有链接都指向根目录,我想捕获这些链接并将它们发送回子目录而不是根目录。

htaccess 可以做到吗?

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    这不会重定向到子目录,但会使其他域的行为就像子目录是文档根一样。我认为这更好。

    RewriteEngine on
    RewriteBase     /
    
    RewriteCond %{HTTP_HOST} ^seconddomain.nl$ [NC]
    RewriteCond $1 !^subfolder
    RewriteRule ^(.*)$ /subfolder/$1 [L]
    

    【讨论】:

      【解决方案2】:

      正如@Gerben 指出的那样(你现在应该完全去投票赞成他的回答),你可以让另一个域表现得好像子目录是这样的文档根:

      RewriteEngine on
      RewriteBase     /
      
      RewriteCond %{HTTP_HOST} ^seconddomain.example.com$ [NC]
      RewriteCond $1 !^subdir
      RewriteRule ^(.*)$ /subdir/$1 [L]
      

      另一种方法是在您的 HTML 文档中使用 <base> 标记。这样做的一个好处是,您无需为 Web 服务器提供的每个文档(包括所有不在子目录/子域中的文档)进行额外的 .htaccess 处理。

      如果你想在 .htaccess 中做它并且不管它是否是子域都让它重定向,它看起来像这样:

      RewriteEngine on
      RewriteCond %{PATH_INFO} !^subdir/
      RewriteRule ^(.*)$ subdir/$1 [L]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-15
        • 2011-02-04
        • 2014-03-17
        • 1970-01-01
        • 1970-01-01
        • 2010-12-29
        • 2011-05-25
        • 1970-01-01
        相关资源
        最近更新 更多