欢迎来到米粒在线,如何将二级域名绑定二级目录呢?下面我们来分享下方法:
有的空间不支持绑定子目录,但是如果支持.htaccess文件的话,也是可以通过编辑.htaccess规则来实现的。
域名举例:miliol.com
------------------------------------------
操作一:addon domain 添加一级域名
domain:miliol.com
dir:miliol
pw:随意
操作二:addon domain 添加二级域名
domain:bbs.miliol.com
dir:miliol (目录与一级域名的映射目录相同)
pw:随意
这样,我们访问
http://miliol.com
http://www.miliol.com/
http://bbs.miliol.com
都会指向 /public_html/miliol 目录
------------------------------------------
建立目录结构:
/public_html/miliol/empty/
/public_html/miliol/www/
/public_html/miliol/bbs/
------------------------------------------
目的:
访问 http://miliol.com redirect到 /public_html/miliol/empty/
访问 http://www.miliol.com redirect到 /public_html/miliol/www/
访问 http://bbs.miliol.com redirect到 /public_html/miliol/bbs/
这样操作,使得一个域名对应一个目录,二级域名对应二级目录。
我们便可以方便的管理域名与目录结构了。
------------------------------------------
实现方法:
编写.htaccess,上传至网站根目录。
注意:本文中的网站,指的是 miliol.com 名下的网站,根目录是指 /public_html/miliol/
具体操作:
1、建立.htaccess。
2、将以下代码写入到.htaccess文件中:
01.RewriteEngine on
02.
03. DirectoryIndex index.html index.htm index.php index.cgi
04.
05. # 访问 http://miliol.com redirect到 /public_html/miliol/empty/
06. RewriteCond %{HTTP_HOST} ^miliol.com$
07. RewriteCond %{REQUEST_URI} !^/empty/
08. RewriteCond %{REQUEST_FILENAME} !-f
09. RewriteCond %{REQUEST_FILENAME} !-d
10. RewriteRule ^(.*)$ /empty/$1
11. RewriteCond %{HTTP_HOST} ^miliol.com$
12. RewriteRule ^(/)?$ empty/index.php [L]
13.
14. # 访问 http://www.miliol.com redirect到 /public_html/miliol/www/
15. RewriteCond %{HTTP_HOST} ^www.miliol.com$
16. RewriteCond %{REQUEST_URI} !^/www/
17. RewriteCond %{REQUEST_FILENAME} !-f
18. RewriteCond %{REQUEST_FILENAME} !-d
19. RewriteRule ^(.*)$ /www/$1
20. RewriteCond %{HTTP_HOST} ^www.miliol.com$
21. RewriteRule ^(/)?$ www/index.php [L]
22.
23. # 访问 http://bbs.miliol.com redirect到 /public_html/miliol/bbs/
24. RewriteCond %{HTTP_HOST} ^bbs.miliol.com$
25. RewriteCond %{REQUEST_URI} !^/bbs/
26. RewriteCond %{REQUEST_FILENAME} !-f
27. RewriteCond %{REQUEST_FILENAME} !-d
28. RewriteRule ^(.*)$ /bbs/$1
29. RewriteCond %{HTTP_HOST} ^bbs.miliol.com$
30. RewriteRule ^(/)?$ bbs/index.php [L]
值得注意的几点:
1、网站配置一定记得修改,例如DZ的安装路径等。有些网站的路径在后台可修改,但有的需要修改配置文件,例如DZ!
2、域名前的“^”千万不能丢。
3、每个redirect,第一句和倒数第二句,虽然一样,但功能不一样,不要删,也不要调整位置。
关于.htaccess的使用技巧,如果有不明白的,可以去参考下:
如何利用.htaccess将域名绑定到子目录- 让你同一空间可以安装多个站点
如果你想在一个空间里安装多个域名站点,只要你能编辑.htaccess文件,就能够办得到。下面就看看如何利用利用.htaccess绑定域名到子目录吧。
注意:前提你的服务器要支持apache的Rewrite功能,只有这样才能使用.htaccess,具体请询问空间服务商,网上搜索到的一些方法大都是一样的,所提供的.htaccess代码如下:
# END WordPress
RewriteEngine on
# 把 miliol.com 改为你要绑定的域名.
RewriteCond %{HTTP_HOST} ^(www.)?miliol.com$
# 把 subfolder 改为要绑定的目录.
RewriteCond %{REQUEST_URI} !^/subfolder/
# 不要改以下两行.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 把 subfolder 改为要绑定的目录.
RewriteRule ^(.*)$ /subfolder/$1
# 把 miliol.com 改为你要绑定的域名
# 把 subfolder 改为要绑定的目录.
# subfolder/ 后面是首页文件index.php, index.html……
RewriteCond %{HTTP_HOST} ^(www.)?miliol.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
上面的方法试过效果不好,不完美:在根目录放置了.htaccess文件,访问时候有个毛病就是图片无法显示:
又找了一点东西,发现一个很好的方法,.htaccess写法如下:
根目录的.htaccess如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^((www|blog)\.)?miliol\.com$
RewriteCond %{REQUEST_URI} !^/blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /blog/$1
RewriteCond %{HTTP_HOST} ^((www|blog)\.)?miliol\.com$
RewriteRule ^(/)?$ blog/index.php [L]
RewriteCond %{HTTP_HOST} ^(www\.)?csslog\.com\.cn$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
我要绑定的是把miliol.com绑定到blog目录中,所以不仅要在根目录放置.htaccess文件,还要在blog目录中放置.htaccess文件,blog目录中的.htaccess写法如下:
# BEGIN WordPress
RewriteEngine On RewriteBase /blog
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
# END WordPress
OK,做完上面的就OK啦,主要在本地写.htaccess并命名是不可能的,可以先保存为1.htaccess类似的名字,传到服务器上在修改成为.htaccess,安全起见还有设置属性为644。
感谢支持米粒在线,转载请注明出处:https://www.miliol.org/807.html