【问题标题】:apache url rewrite for multilanguage site多语言网站的 apache url 重写
【发布时间】:2014-02-17 11:54:11
【问题描述】:

我想在 apache2 下使用重写条件来实现两个目标,但这实际上不是我的一杯茶:

  • 将 mydomain.com 重定向到 www.mydomain.com,这很容易做到。我用:

    重写引擎开启

    RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]

    重写规则 ^(.*)$ http://www.example.com/$1 [L,R=301]

  • 将 mydomain.es 重定向到 www.mydomain.com/?lang=es(其他语言以此类推​​)

我该如何写第二个语句?以及如何将这条规则与第一个规则结合起来?

提前感谢您的帮助!

【问题讨论】:

    标签: php apache .htaccess mod-rewrite


    【解决方案1】:

    试试:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ [NC]
    RewriteCond %{HTTP_HOST} !^mydomain\.com$ [NC]
    RewriteCond %{HTTP_HOST} ^mydomain\.[^.]+$
    RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
    RewriteRule ^mydomain\.([^.]+)/(.*) http://www.mydomain.com/?lang=$1 [L,R=301]
    
    RewriteCond %{HTTP_HOST} !^www.mydomain.com$ [NC]
    RewriteRule ^/(.*)$ http://www.mydomain.com/$1 [L,R=301]
    

    mydomain.es、mydomain.fr、mydomain.pt 可以,但 www.mydomain.es

    不行

    【讨论】:

    • 很抱歉回复晚了,但我有机会测试一下。
    猜你喜欢
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 2021-09-24
    相关资源
    最近更新 更多