Apache 下域名绑定到子目录

有两种实现方法:
1,在httpd.conf文件结尾处加入如下代码

<VirtualHost m.witmax.cn:80>
ServerAdmin tempgame@hotmail.com
DocumentRoot D:/wwwroot/subdir
ServerName m.witmax.cn
ErrorLog logs/m-error_log.txt
CustomLog logs/m_log.txt common
</VirtualHost>


2.是利用.htaccess文件进行绑定

RewriteEngine on
# 把 m.witmax.cn 改为你要绑定的域名.
RewriteCond %{HTTP_HOST} ^(www.)?m.witmax.cn$

# 把 subdir 改为要绑定的目录.
RewriteCond %{REQUEST_URI} !^/subdir/

# 不要改以下两行.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# 把 subdir 改为要绑定的目录.
RewriteRule ^(.*)$ /subdir/$1

# 把 m.witmax.cn 改为你要绑定的域名
# 把 subdir 改为要绑定的目录.
# subdir/ 后面是首页文件index.php, index.html……

RewriteCond %{HTTP_HOST} ^(www.)?m.witmax.cn$
RewriteRule ^(/)?$ subdir/index.php [L]


大致说下。我的需求是 在www目录下有三个文件夹,分别是独立的项目,现在想使用域名给分别指定下。比如a.com绑定到www/a 文件下 b.com绑定到www/b c.com绑定到www/c

第一种方法,也就是在httpd.conf的文件尾加节点的方法,我试了下确实可以。
不过有个问题,我有三个目录,就意味着要写三个节点,但是我使用其它两个域名,b.com和c.com进行访问的时候,它会自动指定a那个目录,我分明已经指定过目录了。很纠结。

--------------------------------------------------------
第一种方法的问题解决了
如下:

NameVirtualHost *:80 //就是因为没有加这个NameVirtualHost才出现那个情况,引以为戒

<VirtualHost a.com:80>
ServerAdmin lx.xin@qq.com
DocumentRoot c:/wamp/www/a
ServerName a.com
ErrorLog logs/a_log.txt
CustomLog logs/a_log.txt common
</VirtualHost>

<VirtualHost b.com:80>
ServerAdmin lx.xin@qq.com
DocumentRoot c:/wamp/www/b
ServerName b.com
ErrorLog logs/b_log.txt
CustomLog logs/b_log.txt common
</VirtualHost>

<VirtualHost c:80>
ServerAdmin lx.xin@qq.com
DocumentRoot c:/wamp/www/c
ServerName c.com
ErrorLog logs/c_log.txt
CustomLog logs/c_log.txt common
</VirtualHost>

第二种方法,比较晕乎,不过在网上看到说可行,感兴趣的朋友可以试下。
至于第一种方法,还得继续摸索!~有解决方法,会继续进行更新
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值