【问题标题】:Redirect paths with .htaccess from main domain to subdomain - multisite installation使用 .htaccess 将路径从主域重定向到子域 - 多站点安装
【发布时间】:2014-06-04 06:42:15
【问题描述】:

我的 drupal 设置位于 www.my-main-domain.com, 我在 subdomain.my-main-domain.com 安装了 drupal 多站点

我要全部重定向:

www.my-main-domain.com/user , www.my-main-domain.com/users, www.my-main-domain.com/user/*

我的子域子域的路径:

my-main-domain.com/user , subdomain.my-main-domain.com/users, subdomain.my-main-domain.com/*

分别。

我在我的 .htaccess 文件中写了以下内容:

RewriteBase / 
RedirectMatch 301 ^/users/(.*)$ http://subdomain.my-main-domain.com/users/$1
RedirectMatch 301 ^/user/(.*)$ http://subdomain.my-main-domain.com/user/$1
RedirectMatch 301 ^/users$ http://subdomain.my-main-domain.com/users
RedirectMatch 301 ^/user$ http://subdomain.my-main-domain.com/user

但它重定向到子域但在继续循环中,因此以空白显示结束。

请注意,它是使用通用根 .htaccess 文件进行多站点安装。 我已经尝试过路径重定向 drupal 模块,但它不支持内部路径重定向,说明路径已在使用中。

请帮忙。谢谢

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite drupal


    【解决方案1】:

    改用mod_rewrite来控制重写条件下的主机名。

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^my-main-domain\.com$ [NC]
    RewriteRule ^(users?)(/.*)?$ http://subdomain.my-main-domain.com/$1$2 [L,R=301,NC]
    

    PS:另请注意,您的 4 条规则可以合并为一条,如上所示。

    【讨论】:

    • 唯一我不知道它如何处理 /user 的重定向,我们只匹配上述规则中的 /users。你能解释一下吗?
    • 实际上我在/user 之后使用正则表达式users? 使s 成为可选,这就是它同时匹配/user/users 的原因。
    猜你喜欢
    • 1970-01-01
    • 2015-09-12
    • 2018-07-10
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    • 2021-04-23
    • 2016-05-16
    • 1970-01-01
    相关资源
    最近更新 更多