Htaccess将域移动到子文件夹

时间:2015-02-27 20:57:17

标签: .htaccess mod-rewrite

我想在我的.htaccess中添加一些规则来实现以下目标:

  • domain.com/(*.) => domain.nl/en/$1
  • domain.de/(*.) => domain.nl/de/$1
  • domain.nl留下domain.nl

我一直在寻找相当多的东西,并没有找到任何可以帮助我的解决方案。当然这应该很容易..

目前有:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^(.*)$ http://domain.nl/en/$1 [R=301,L]

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

</IfModule>

该网站是一个Wordpress网站,也有很多其他重写规则,所以我确信重写规则有效。我还将这些规则放在文件的顶部,[L]指令应该强制它跳过任何更多的行..?

最后让它发挥作用:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com [NC]
RewriteRule ^(.*)$ http://domain.nl/en/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.de [NC]
RewriteRule ^(.*)$ http://domain.nl/de/$1 [R=301,L]


</IfModule>

1 个答案:

答案 0 :(得分:1)

你应该能够这样做。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com [NC]
RewriteRule ^(.*)$ http://domain.nl/en/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.de [NC]
RewriteRule ^(.*)$ http://domain.nl/de/$1 [R=301,L]