.htaccess将包含子文件夹的子域重定向到root,自己排除子域

时间:2014-07-15 13:57:14

标签: regex apache .htaccess mod-rewrite rewrite

如果之前有人问我很抱歉,但我无法得到答案。

我想将子文件夹的子域名重定向到root,但要忽略子域名:

test.example.com -> test.example.com
test.example.com/folder1/folder2 -> example.com/folder1/folder2
anyother.example.com -> anyother.example.com
anyother.example.com/folder1/folder2 -> example.com/folder1/folder2

感谢。

1 个答案:

答案 0 :(得分:1)

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^[^.]+\.(example\.com)$ [NC]
RewriteRule ^(.+)$ http://%1/$1 [L,NE,R=301]
  1. RewriteCond %{HTTP_HOST} !^www\.确保规则不会针对www.example.com
  2. 触发
  3. RewriteCond %{HTTP_HOST} ^[^.]+\.(example\.com)$以确保我们将其用于子域
  4. {li} ^(.+)$ RewriteRule以确保我们不会重定向子域的着陆页。