htaccess 完美解决 二级域名绑定二级目录的问题

域名举例:abcde.com
------------------------------------------

操作一:addon domain 添加一级域名
domain:abcder.com
dir:abcde
pw:随意

操作二:addon domain 添加二级域名
domain:bbs.abcder.com
dir:abcde (目录与一级域名的映射目录相同)
pw:随意

这样,我们访问
http://abcde.com
http://www.abcde.com/
http://bbs.abcde.com
都会指向 /public_html/abcde 目录
------------------------------------------

建立目录结构:
/public_html/abcde/empty/
/public_html/abcde/www/
/public_html/abcde/bbs/
------------------------------------------

目的:
访问 http://abcde.com redirect到 /public_html/abcde/empty/
访问 http://www.abcde.com redirect到 /public_html/abcde/www/
访问 http://bbs.abcde.com redirect到 /public_html/abcde/bbs/

这样操作,使得一个域名对应一个目录,二级域名对应二级目录。
我们便可以方便的管理域名与目录结构了。
------------------------------------------

实现方法:
编写.htaccess,上传至网站根目录。
这里我说的网站根目录,大家很容易混淆。
网站,指的是 abcde.com 名下的网站,根目录是指 /public_html/abcde/
具体操作:
1、建立.htaccess。我们在WIN下无法建立以“.”开头的文件,我们可以上传后,在服务器端修改。
2、代码:
------------------------------------------
代 码:
------------------------------------------
RewriteEngine on

DirectoryIndex index.html index.htm index.php index.cgi

# 访问 http://abcde.com redirect到 /public_html/abcde/empty/
RewriteCond %{HTTP_HOST} ^abcde.com$
RewriteCond %{REQUEST_URI} !^/empty/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /empty/$1
RewriteCond %{HTTP_HOST} ^abcde.com$
RewriteRule ^(/)?$ empty/index.php [L]

# 访问 http://www.abcde.com redirect到 /public_html/abcde/www/
RewriteCond %{HTTP_HOST} ^www.abcde.com$
RewriteCond %{REQUEST_URI} !^/www/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /www/$1
RewriteCond %{HTTP_HOST} ^www.abcde.com$
RewriteRule ^(/)?$ www/index.php [L]

# 访问 http://bbs.abcde.com redirect到 /public_html/abcde/bbs/
RewriteCond %{HTTP_HOST} ^bbs.abcde.com$
RewriteCond %{REQUEST_URI} !^/bbs/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /bbs/$1
RewriteCond %{HTTP_HOST} ^bbs.abcde.com$
RewriteRule ^(/)?$ bbs/index.php [L]
------------------------------------------
值得注意的几点
1、网站配置一定记得修改,例如DZ的安装路径等。有些网站的路径在后台可修改,但有的需要修改配置文件,例如DZ!
2、域名前的“^”千万不能丢。
3、每个redirect,第一句和倒数第二句,虽然一样,但功能不一样,不要删,也不要调整位置。
多余的我也不解释了,照着做就行了。如果想知道原理的话,去查下301 302吧!

猜你喜欢

转载自huimai.iteye.com/blog/1379075