RewriteCond仅针对特定域扩展名的文件夹

时间:2016-02-19 12:35:11

标签: apache .htaccess redirect mod-rewrite

我有一个可以通过3个域(domain.com,domain.ch,domain.fr)访问的站点。但是,三者使用完全相同的文件和文件夹。

关于.fr域名(此域名),我需要以下内容:

  1. domain.fr(root)重定向到domain.com/fr/france
  2. 这是通过以下规则实现的:

    RewriteCond %{HTTP_HOST} ^www\.domain\.fr$
    RewriteRule ^/?$ "http\:\/\/www\.domain\.com\/fr\/france" [R=301,L]
    

    有效。 (还有一个在每个URL前强制使用www。的功能规则。)

    无法开始工作的是:

    1. domain.fr/fr重定向到domain.com/fr/france

    2. 最后,将任何网址domain.fr/fr/*重定向到domain.com/fr/*
      (保持任何*代表)。

    3. 诀窍(对我而言)同样的.htaccess文件也将出现在domain.com和domain.ch上,但这些规则不得为这些域激活。

2 个答案:

答案 0 :(得分:2)

您可以将这些规则放在htaccess中

$('.ulcls a').each(function(index, value) {
  $('body').append($(this).attr('href') + "<br/>");
})

答案 1 :(得分:0)

尝试:

RewriteCond %{HTTP_HOST} ^www\.domain\.fr$
RewriteCond %{REQUEST_URI} !^/fr/france
RewriteRule ^fr/(.*)$ http://www.domain.com/fr/france/$1 [R=301,L]