【问题标题】:RewriteCond issue with subdomains and paths in .htaccess.htaccess 中的子域和路径的 RewriteCond 问题
【发布时间】:2012-09-24 11:55:13
【问题描述】:

我有三个不同的域指向同一个 WordPress 的主机实例,具体取决于语言(使用 qTranslate 插件管理):

RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.cat$
RewriteRule ^/?$ "http\:\/\/ca\.mydomain\.com\/" [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$
RewriteRule ^/?$ "http\:\/\/en\.mydomain\.com\/" [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.es$
RewriteRule ^/?$ "http\:\/\/es\.mydomain\.com\/" [R=301,L]

我已经设法实现了以下重定向:

  • mydomain.cat 或 www.mydomain.cat ---> ca.mydomain.com ---> 以加泰罗尼亚语显示网站
  • mydomain.es 或 www.mydomain.es ---> es.mydomain.com ---> 以西班牙语显示网站
  • mydomain.com 或 www.mydomain.com ---> en.mydomain.com ---> 以英文显示网站

现在我遇到的问题是,例如,用户键入 mydomain.cat/work 它不能正常工作,它转到 mydomain.com/work/ 并且子域中的语言部分丢失。如果在这种情况下,它会重定向到 ca.mydomain.com/work,那就完美了。

我已经研究并尝试修改三个 RewriteCond 规则以在 url 末尾“添加”附加内容(不知道使用 QUERY_STRING 还是使用参数更好),但我不能不能让它正常工作,我不知道这是否是实现它的最佳方法。

任何人都可以帮助我或给我一个线索?

【问题讨论】:

    标签: wordpress .htaccess mod-rewrite qtranslate


    【解决方案1】:

    好的,我搞定了:

    RewriteEngine On
    Options +FollowSymLinks
    RewriteBase /
    RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
    RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
    RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.cat$
    RewriteRule (.*) "http\:\/\/ca\.mydomain\.com\/$1" [R=301,L]
    RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$
    RewriteRule (.*) "http\:\/\/en\.mydomain\.com\/$1" [R=301,L]
    RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.es$
    RewriteRule (.*) "http\:\/\/es\.mydomain\.com\/$1" [R=301,L]
    

    我在 RewriteRule 语句的末尾添加了 $1,并用 (.*) 覆盖了开头的 ^/?$。我还在其他行之上添加了这两行:

    RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
    RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
    

    为了防止尾随斜杠。我希望这对某人有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-02
      • 2020-01-20
      • 2013-01-17
      • 1970-01-01
      • 2011-03-07
      相关资源
      最近更新 更多