【问题标题】:.htacess redirect two domains to a single one, with params.htaccess 使用参数将两个域重定向到一个域
【发布时间】:2012-11-08 15:58:14
【问题描述】:

我目前有两个域名指向同一个应用程序。一个是法语网址 (A),另一个是英语网址 (B)。

我们现在想使用第三个域名 (C),它将作为主域名。

所以,我需要在我的 .htaccess 重定向中

A.fr/my/great/urlC.com/my/great/url?locale=fr

B.com/my/great/urlC.com/my/great/url?locale=en

如何在我的 .htaccess 中这样做?

非常感谢

【问题讨论】:

    标签: .htaccess mod-rewrite redirect


    【解决方案1】:

    在文档根目录的 htaccess 中添加:

    RewriteEngine On
    
    # redirect from A.fr
    RewriteCond %{HTTP_HOST} A\.fr$ [NC]
    RewriteRule ^(.*)$ http://C.com/$1?locale=fr [L,R=301,QSA]
    
    # redirect from B.com
    RewriteCond %{HTTP_HOST} B\.com$ [NC]
    RewriteRule ^(.*)$ http://C.com/$1?locale=en [L,R=301,QSA]
    

    规则必须在任何现有规则之前,尤其是那些进行路由的规则。

    【讨论】:

    • 嘿,我在这些规则中没有看到 C.com。并尝试在您的代码中进行无限重定向。
    • @CoBaLt2760 是的,我忘了添加这些,编辑了上面的规则
    【解决方案2】:

    您可以使用简单的 index.html 文件宽度 Meta Refresh Tag

    【讨论】:

      【解决方案3】:

      好的,感谢@Jon Lin,正确答案是:

      RewriteEngine On
      
      # redirect from A.fr
      RewriteCond %{HTTP_HOST} A.fr$ [NC]
      RewriteRule ^(.*)$ C.com/$1?locale=fr [L,R=301,QSA]
      
      # redirect from B.com
      RewriteCond %{HTTP_HOST} B.com$ [NC]
      RewriteRule ^(.*)$ C.com/$1?locale=en [L,R=301,QSA]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-04
        • 1970-01-01
        • 2017-05-18
        • 2011-06-29
        • 1970-01-01
        • 2010-10-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多