Apache,子目录是指子域名?

时间:2013-11-10 18:43:25

标签: apache mod-rewrite

在mod-rewrite中有没有办法让子目录引用子域。

这样:

maindomain.com/something引用something.maindomain.com

谢谢!

1 个答案:

答案 0 :(得分:1)

我在这里分享我经过严格测试的RewriteRule设置,希望你能适应你的用法:

通过/.htaccess重写无重定向:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^((?!www).*)\.maindomain\.com$
RewriteRule ^(.*)$ http://www.maindomain.com/%1/$1 [L]

它告诉apache捕获RewriteCond反向引用%1(百分比1)中不是www的主机名。并在RewriteRule反向引用$ 1(美元1)中捕获相对URL。

这样做:

http://east.maindomain.com/ => http://www.maindomain.com/east/
http://east.maindomain.com/asia/us/index.php => http://www.maindomain.com/east/asia/us/index.php

通过/.htaccess重定向重写(在浏览器的地址栏中可见):

RewriteEngine On
RewriteCond %{HTTP_HOST} ^((?!www).*)\.maindomain\.com$
RewriteRule ^(.*)$ http://www.maindomain.com/%1/$1 [R,L]