.htaccess二级域名绑定二级目录的方法

欢迎来到米粒在线,如何将二级域名绑定二级目录呢?下面我们来分享下方法:


有的空间不支持绑定子目录,但是如果支持.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

米粒在线
  • 本文由 发表于 2012年11月4日19:48:25
  • 转载请务必保留本文链接:https://www.miliol.org/807.html
网站建设

从并发20到并发120之laravel性能优化

调优成果 遇到问题 单台服务并发20,平均响应时间1124ms,通过htop观察,发现cpu占用率达到100%(包括sleep的进程),内存几乎没怎么用。 调优后 单机最大吞吐量达到1...
网站建设

为了WordPress运行效率翻倍我用Cyberpanel替代了宝塔面板

因为我的博客最近这段时间总是莫名其妙的卡成狗,用的是应该是某个插件的原因,正好许久没折腾了就追求刺激,准备重新使用我以前心心恋恋的 openlitespeed,当初测试在都安装插件的情况下 NGINX...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: