多个二级域名,如何配置在一个VirtualHost中,求助,谢谢 本帖最后由 xiongmzh 于 2012-10-09 18:19:39 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DocumentRoot F:/aaa/webroot/既然 DocumentRoot 就一个,何必要去配置虚拟机 因为如果不配置虚拟机 访问bj.html就只能这样了:www.my.com/bj.html或许有其他办法? <VirtualHost *:80> DocumentRoot "e:/product/wwwroot/" ServerName *.example.com RewriteEngine On RewriteCond %{HTTP_HOST} ^(.*?)\.example\.com RewriteRule (.*) %{HTTP_HOST}/$1 RewriteRule ^(.*?)\.example\.com/(.*)$ /$1/$2</VirtualHost>这是我的windows+apache测试环境。生产上我是用linux+nginx的,二十几个域名,一个域名一个vhost文件 说明一下,域名指向是这样的:www.example.com => e:/product/wwwroot/wwwtest.example.com => e:/product/wwwroot/test以此类推。你可以很容易改成你想要的样子 www.bitauto.com 这是易车网的首页但是从首页进去以后,系统会根据ip自动跳转到相对应的区域或者城市首页我也做这么一个功能 从www首页进去以后,系统自动跳转到bj或者tj的域,而无论跳转到哪个二级域名首页,其实我都是用的www中的首页(index.html)模板文件,最后生成静态的bj或者tj二级域的入口文件(bj.html,或者tj.html)也放在www域中的文件夹内(webroot),其实和index.html相差无几(因为用的同一个模板,如果不和www域放在同一个文件夹中,其中的背景图片之类的路径不好处理)。这种情况,如果坚持使用二级域名的方式,我就得在apache vhosts中配置多个二级域名的虚拟主机,而且我在后台管理系统中加了个“是否生成静态”的功能开关,所以必须还得在每个二级域名的配置中添加伪静态配置,这样以来,随着城市分站的增加,就得多庞大的vhosts配置啊,貌似vhosts太大,会影响整个系统的效率吧。直接用这样的访问方式就不用配置了:www.my.com/bj.html 但是这样不太利于我们推广不知道有没有说明白 呵呵 统一的入口index.php<?phpinclude strtok($_SERVER['HTTP_HOST'], '.') . 'html';这样就可以了。或许我还没有理解你的意图 我明白你的意思了 那样仍然得配置多个虚拟主机, 而且include包含的文件必须是实体,必须是存在的而事实上当我在后台设置为“不生成静态”之后,包含的文件就不会存在了看来配置多个虚拟主机是必然的了或者使用代理,访问bj.my.com的时候事实上访问的是www.my.com/bj.html听说代理非常影响效率?而伪静态也同样影响效率,反正都要影响,就是不知道哪一个影响的程度低些 php中使用svn_checkout 快来围观-在phpmyadmin点数据库后,怎么多了个输入框??? 有做过旅行社网站的么 求正则表达式 出学php 请问smarty下的这个路径怎么设置 smarty的问题---变量无法在html中显示 如何在javascript中访问php变量 怎样实现发送表格,但是不需要跳转页面即再进行循环 cookie问题,,高分相送 想问问这SQL有什么错误 自己想接触一下爬虫和采集方面的...想找一本好书
既然 DocumentRoot 就一个,何必要去配置虚拟机
<VirtualHost *:80>
DocumentRoot "e:/product/wwwroot/"
ServerName *.example.com RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*?)\.example\.com
RewriteRule (.*) %{HTTP_HOST}/$1
RewriteRule ^(.*?)\.example\.com/(.*)$ /$1/$2</VirtualHost>
这是我的windows+apache测试环境。
生产上我是用linux+nginx的,二十几个域名,一个域名一个vhost文件
www.example.com => e:/product/wwwroot/www
test.example.com => e:/product/wwwroot/test以此类推。你可以很容易改成你想要的样子
但是从首页进去以后,系统会根据ip自动跳转到相对应的区域或者城市首页我也做这么一个功能 从www首页进去以后,系统自动跳转到bj或者tj的域,而无论跳转到哪个二级域名首页,其实我都是用的www中的首页(index.html)模板文件,最后生成静态的bj或者tj二级域的入口文件(bj.html,或者tj.html)也放在www域中的文件夹内(webroot),其实和index.html相差无几(因为用的同一个模板,如果不和www域放在同一个文件夹中,其中的背景图片之类的路径不好处理)。这种情况,如果坚持使用二级域名的方式,我就得在apache vhosts中配置多个二级域名的虚拟主机,而且我在后台管理系统中加了个“是否生成静态”的功能开关,所以必须还得在每个二级域名的配置中添加伪静态配置,这样以来,随着城市分站的增加,就得多庞大的vhosts配置啊,貌似vhosts太大,会影响整个系统的效率吧。直接用这样的访问方式就不用配置了:www.my.com/bj.html 但是这样不太利于我们推广不知道有没有说明白 呵呵
index.php
<?php
include strtok($_SERVER['HTTP_HOST'], '.') . 'html';
这样就可以了。
或许我还没有理解你的意图
而事实上当我在后台设置为“不生成静态”之后,包含的文件就不会存在了看来配置多个虚拟主机是必然的了或者使用代理,访问bj.my.com的时候事实上访问的是www.my.com/bj.html听说代理非常影响效率?而伪静态也同样影响效率,反正都要影响,就是不知道哪一个影响的程度低些