| windowsnt 回复于:2002-10-28 09:29:27 |
| 看一下apache的日志 |
| sunspy 回复于:2002-10-28 09:43:41 |
| 虚拟主机的话 ,你的两个网站的页面 ,分别放在不同的目录下 ,什么方法可以区别呢? 是找那个 INDEX.HTML ,这点谁能说明一下 ? 要做虚拟主机 ,你在安装APACHE的时候 ,必须将虚拟主机的功能 ,在配置时加进去 ,不然 ,即使你用了SELECTION 2也没用 ,我只能帮你这一点了 。哈哈! |
| burningsky 回复于:2002-10-28 12:56:50 |
| 谢谢 两个站点分别放到不同目录下,用DocumentRoot来区别。 Apache当中是什么模块来支持虚拟主机的?用什么命令来检查是否装了该模块呢? |
| burningsky 回复于:2002-10-28 14:40:33 |
| # ./usr/apache/bin/httpd -S VirtualHost configuration: 12.34.56.78:80 is a NameVirtualHost default server default.domain.com (/etc/apache/httpd.conf:921) port 80 namevhost default.domain.com (/etc/apache/httpd.conf:921) port 80 namevhost A.domain.com (/etc/apache/httpd.conf:926) port 80 namevhost B.domain.com (/etc/apache/httpd.conf:931) 看来配置应该都没问题啊,可是http://A.domain.com与http://B.domain.com显示的页面就业default.doamin.com! 我几乎察看了本章所有的帖子,发现很多人曾经都遇到过我这样的问题,我试过其中一些方法,但还不不能解决问题。 我觉得这个问题有一定普遍性和代表性,忘斑竹能够写个精华帖子出来,以免后来者走弯路,谢谢! |
| wweihhui 回复于:2002-10-28 14:45:49 |
| 好建议! |
| burningsky 回复于:2002-10-28 14:57:14 |
| 我想是不是与DocumentRoot有关呢? 因为我感觉虚拟主机A.domain.com与B.domain.com都用的是default.domain.com的DocumentRoot,根本没用自己的DocumentRoot下面的index.html所以它们显示的页面均是default.domain.com的index.html。 在httpd.conf文件中有个“Section 2”,是对Apache最一些整体上的配置的,其中就有DocumentRoot,我设的目录就是default.domain.com的工作目录。是不是与这个有关呢? 我把这句话注释掉,那么就什么也看不到了。 我想问的是设置DocumentRoot时,有个整体的设置(Section 2)和虚拟主机自身的设置(Section 3),这两个DocumentRoot好像有种关系,不知道怎么解决! 求助啊! |
| sunspy 回复于:2002-10-28 15:09:58 |
| 你可以将httpd.conf 中在末行键入 VIRTUALDOCUMENTROOT=/usr/www/%0 ,试一下 |
| burningsky 回复于:2002-10-28 18:41:44 |
| 感谢回复!! VIRTUALDOCUMENTROOT=/usr/www/%0 中的/usr/www/%0代表什么? 我试试看…… |
| sunspy 回复于:2002-10-28 19:01:20 |
| 是通配符 |
| burningsky 回复于:2002-10-28 19:12:55 |
| 还是不行,绝望中…… # ./apachectl configtest Syntax error on line 960 of /etc/apache/httpd.conf: Invalid command 'VIRTUALDOCUMENTROOT=/apache/htdocs/%0', perhaps mis-spelled or defined by a module not included in the server configuration |
| vipcui 回复于:2002-10-28 19:17:50 |
| [这个贴子最后由vipcui在 2002/10/28 07:19pm 编辑] 下面是基于同一IP地址的多虚拟主机方案,配置完毕重新启动机器,兄弟您照猫画虎就可以了 <VirtualHost *> ServerAdmin [email protected] DocumentRoot /quark/virtualhost/catv.com.cn ServerName mail.catv.com.cn </VirtualHost> <VirtualHost *> ServerAdmin [email protected] DocumentRoot /quark/virtualhost/bcmc.com.cn^M ServerName mail.bcmc.com.cn </VirtualHost> <VirtualHost *> ServerAdmin [email protected] DocumentRoot /quark/virtualhost/onl.com ServerName mail.onl.com </VirtualHost> <VirtualHost *> ServerAdmin [email protected] DocumentRoot /quark/webmail/htdocs ServerName mail.catv.com </VirtualHost> |
| burningsky 回复于:2002-10-28 19:24:15 |
| 谢谢vipcui的热情之手! 但是我觉得你给的配置和我写的配置起实质是一样的啊 NameVirtualHost 12.34.56.78:80 <VirtualHost 12.34.56.78> DocumentRoot "/apache/htdocs/A" ServerName A.domain.com ServerAdmin [email protected] </VirtualHost> <VirtualHost 12.34.56.78> DocumentRoot "/apache/htdocs/B" ServerName B.domain.com ServerAdmin [email protected] </VirtualHost> |
| vipcui 回复于:2002-10-28 19:31:12 |
| 我知道,建议你用我的顺序写,你套用一下看看如何?? |
| burningsky 回复于:2002-10-28 19:49:09 |
| 兄弟,我按照你的顺序试了一把,还是不行~~~有点想哭~~~ 我怀疑与DocumentRoot有关,因为在httpd.conf文件中有个“Section 2”是设整体的DocumentRoot的,Section 2里面的DocumentRoot设到哪个目录下,所有的虚拟主机就显示该目录下的WEB页面~~ 我把“Section 2”中的“DocumentRoot”注释掉,那么Apache就根本用不了了。 有谁成功地做过,能不能把整个HTTPD.CONF文件发给我?! 感激~~~~~~~~~~ |
| 段誉 回复于:2002-10-28 20:54:42 |
| apache默认就支持虚拟主机的,你看过log了吗?贴出来! |
| 段誉 回复于:2002-10-28 21:11:15 |
| 你在每个section里面加上这句话,ErrorLog /var/log/domainA.com-error_log,然后看是否出现这个日志?没有的话,就到/var/apache/logs下去找系统的错误日志,贴出来分析! |
| ydj 回复于:2002-10-28 21:21:51 |
| 在同一个IP地址下设置几个虚拟主机的话,最好用端口来区分,如一个用80端口,一个用81端口,这样才能区别虚拟主机,不然,会出现不同的域名,指向同一主页的现象。 |
| burningsky 回复于:2002-10-28 23:59:28 |
| 有大天使出马,呵呵,我看到一线曙光了…… 不是我不贴LOG啊,我全都设了LOG,但是里面除了一些无关警告的东西外(很早以前的信息),几乎什么都没有。 |
| burningsky 回复于:2002-10-29 00:08:50 |
| 谢谢ydj。 我照ydj的说法设成不同的端口,如下 # ./httpd -S VirtualHost configuration: 12.34.56.78:80 is a NameVirtualHost default server default.domain.com (/etc/apache/httpd.conf:921) port 80 namevhost default.domain.com (/etc/apache/httpd.conf:921) 12.34.56.78:81 A.domain.com(/etc/apache/httpd.conf:92 12.34.56.78:82 B.domain.com(/etc/apache/httpd.conf:935) 很遗憾,即使是不同的虚拟主机,不同端口,我在IE下浏览A.domain.com,B.domain.com,显示的内容还是default.domain.com的内容。 而http://12.34.56.78:81,与http://12.34.56.78:82却是该页无法显示。 我再查了一下LOG,还是什么都没有。 什么都没有,郁闷啊! |
| burningsky 回复于:2002-10-29 00:13:58 |
| 到底与DNS有没有关系? 我是不是只要把A.domain.com,B.domain.com,default.domain.com都指向一个IP地址就行了? 我在DNS服务器上将A.domain.com,B.domain.com,default.domain.com均成功的添加了。 如果不是DNS的问题,我想肯定是“section 2”中那个整体设置DocumentRoot的问题了…… 郁闷啊,疲惫阿!!! |
| burningsky 回复于:2002-10-29 00:22:21 |
| 搞了近三天,还是没定…… 疲惫阿,真想放弃 谁能再次伸出援助之手,感激~~ |
| sunmarmot 回复于:2002-10-29 01:56:09 |
| 坚持,再坚持................ |
| burningsky 回复于:2002-10-29 02:00:10 |
| 众多天使们,HELP ME,THANKS!! |
| burningsky 回复于:2002-10-29 02:30:08 |
| 我把我的httpd.conf关键部分节选出来,我就不信,就这么几句话还搞不定~~ 请大家赐金言,感激不尽! ### Section 1: Global Environment ServerType standalone ServerRoot /var/apache PidFile /var/run/httpd.pid ScoreBoardFile /var/run/httpd.scoreboard Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 ... ### Section 2: 'Main' server configuration Port 80 User nobody Group nobody ServerAdmin [email protected] ServerName 12.34.56.78 DocumentRoot /apache/htdocs <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/apache/htdocs"> AuthType Basic AuthName "Restricted Files" AuthUserFile /usr/local/apache2/passwd/password AuthGroupFile /usr/local/apache2/passwd/group require group netmanager Options Indexes FollowSymLinks AllowOverride AuthConfig </Directory> UserDir public_htm DirectoryIndex index.html AccessFileName .htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> ... ErrorLog /var/apache/logs/error_log ... ### Section 3: Virtual Hosts NameVirtualHost 12.34.56.78 <VirtualHost 12.34.56.78> ServerAdmin [email protected] DocumentRoot /apache/htdocs ServerName default.domain.com ErrorLog /var/apache/logs/default.domain.com-error_log </VirtualHost> # <VirtualHost 12.34.56.78> ServerAdmin [email protected] DocumentRoot /apache/htdocs/A ServerName A.domain.com ErrorLog /var/apache/logs/A.domain.com-error_log </VirtualHost> # <VirtualHost 12.34.56.78> ServerAdmin [email protected] DocumentRoot /apache/htdocs/B ServerName B.domain.com ErrorLog /var/apache/logs/B.domain.com-error_log </VirtualHost> |
| burningsky 回复于:2002-10-29 02:33:25 |
| 我觉得可能是 ### Section 2: 'Main' server configuration DocumentRoot /apache/htdocs 与 ### Section 3: Virtual Hosts NameVirtualHost 12.34.56.78 <VirtualHost 12.34.56.78> ServerAdmin [email protected] DocumentRoot /apache/htdocs/A ServerName default.domain.com ErrorLog /var/apache/logs/default.domain.com-error_log </VirtualHost> 中的DocumentRoot的问题 Section 2中的DocumentRoot将Section 3中的DocumentRoot覆盖掉了? 但是又不能将Section 2中的DocumentRoot注释掉,不然Apache就用不了~~ 头疼~ |
| burningsky 回复于:2002-10-29 09:13:14 |
| somebody,somebody help me! |
| 坚持向左 回复于:2002-10-29 09:29:02 |
| 我怀疑是域名解析的问题,看这Apache的配置没有问题啊 |
| burningsky 回复于:2002-10-29 09:37:37 |
| 谢谢老兄! 域名解析,我在DNS上/var/named上写了一个domain.com.zone的文件,文件里面将A.domain.com与B.domain.com均设为default.domain.com的CNAME;在/etc/named.conf下添加了domain.com这个域 用nslookup均能正确的正反向解析default.domain.com,A.domain.com与B.domain.com。 我想,只要能正确解析成一个IP就行了吧~~ |
| 北极星 回复于:2002-10-29 09:49:33 |
| [这个贴子最后由北极星在 2002/10/29 12:17pm 编辑] [quote][b]下面引用由[u]ydj[/u]在 [i]2002/10/28 09:21pm[/i] 发表的内容:[/b] 在同一个IP地址下设置几个虚拟主机的话,最好用端口来区分,如一个用80端口,一个用81端口,这样才能区别虚拟主机,不然,会出现不同的域名,指向同一主页的现象。 [/quote] 用不同的端口的话,就没意义了吧,你装过win2000下的虚拟机吗,几十个上百个域名可以同时指向一个IP,一个端口,当你访问某个主页输入域名后,2000服务器会自动根据你设置的不同的主机头名而转向所需的网页!! |
| burningsky 回复于:2002-10-29 09:54:29 |
| 谢谢~~~ydj只是让我试试,我试了,还是不行……所以我还是用同一个端口。 晕啊,晕啊~~(还没习惯) |
| burningsky 回复于:2002-10-29 10:12:31 |
| 顶一顶~~ |
| burningsky 回复于:2002-10-29 11:51:58 |
| 不好意思,再顶一顶 如果搞定这个问题,我会写一篇很详细的精华文章,以免后来者走弯路。 |
| burningsky 回复于:2002-10-29 12:09:18 |
| 顶~~~SO SORRY~~~ |
| baiming 回复于:2002-10-29 12:24:26 |
| [这个贴子最后由baiming在 2002/10/29 12:25pm 编辑] 如果你确信default.domain.com,A.domain.com与B.domain.com。都能ping通,并且都是只到了一个IP上你可以这样写试试<VirtualHost B.domain.com> 。。。</VirtualHost> 中间的那些别改,只把<VirtualHost 12.34.56.78>改成和servername一样的是name 我的apache 就是这样的。 |
| burningsky 回复于:2002-10-29 12:56:09 |
| 谢谢baiming,DNS设置肯定是没问题的,每个虚拟主机正反向解析都没问题。看到你的回复,我马上试了一把~~~ 结果还是A.domain.com与B.domain.com显示的内容还是default.domain.com的内容 我真的怀疑 ### Section 2: 'Main' server configuration Port 80 User nobody Group nobody ServerAdmin [email protected] ServerName 12.34.56.78 DocumentRoot /apache/htdocs 中的DocumentRoot有关,这是一个定义apache整体的DocumentRoot的语句,其实就是default.domain.com的工作目录,是不是就是它覆盖了其他虚拟主机的工作目录呢?所以让其他虚拟主机都显示default.domain.com的内容。 baiming,你可不可以看看你的httpd.conf文件当中这一部分是怎么设置的?谢谢!! |
| burningsky 回复于:2002-10-29 13:16:29 |
| 顶~ (有点累) |
| burningsky 回复于:2002-10-29 13:36:28 |
| 顶~~我心依旧~ |
| feng4321 回复于:2002-10-29 14:47:46 |
| 当你从地址栏输入域名时看到的是系统默认的界面么?? 小弟第一次来这里,以前使用linux服务器做的时候碰到这样的情况,在linux下将httpd服务停掉。即可。reboot solaris 没用过,支持一下,俺曾经也有这样的痛苦经历。多试试吧,往往是小的漏洞导致了整个服务无法运行。 |
| feng4321 回复于:2002-10-29 14:56:59 |
| 问题解决了么?哥们 上面的贴子有点问题,给与更正,我在linux现装的邮件服务器。使用qmail 当ntsysv启动httpd时,就出现不能正常解析的情况。如同您出现的问题。 所以我认为,是什么地方一起了冲突。你运行服务查看一下进程。看是否有相冲突的进程在运行。 |
| burningsky 回复于:2002-10-29 15:42:32 |
| 谢谢上面这位的大哥热心支持~ 问题还没有解决,:~( 我已经reboot solaris N 次了 看到的界面是DocumnetRoot /apache/htdocs下面的index.html,几个虚拟主机看到的都是这个界面,所以我才怀疑与“section 2”下面的DocumentRoot有关。 我想一定是小问题,但是现在~几天了,还没解决。 痛苦中~~ |
| burningsky 回复于:2002-10-29 17:02:01 |
| 哭着喊着顶~~~~ |
| 段誉 回复于:2002-10-29 17:05:20 |
| 在“section 1”中,这几个参数如何定义? 1、Listen ?? 2、BindAddress ?? 3、LoadModule vhost_alias_module /usr/apache/libexec/mod_vhost_alias.so的前面是否有注释? |
| burningsky 回复于:2002-10-29 18:02:20 |
| [这个贴子最后由burningsky在 2002/10/29 06:03pm 编辑] 又见大天使!!眼有点湿~~ 分别是这样的: #Listen 3000 #Listen 12.34.56.78:80 #BindAddress * LoadModule vhost_alias_module /usr/apache/libexec/mod_vhost_alias.so 前面两个都注释掉了。 |
| burningsky 回复于:2002-10-29 23:21:49 |
| 哭着喊着顶~~~~ ~~~ |
| 段誉 回复于:2002-10-30 09:32:50 |
| 你把Listen和BindAddress改成下面的形式: Listen 12.34.56.78:80 BindAddress 12.34.56.78 重起apache之后,测试是否能够显示不同的界面。 |
| burningsky 回复于:2002-10-30 13:40:09 |
| 谢谢!照你所说的方法做了,但httpd进程就怎么也起不来了。 如下: # ./apachectl configtest Syntax OK # ./httpd # ps -ef|grep httpd root 16892 15855 0 13:24:06 pts/7 0:00 grep httpd # ps -ef|grep httpd root 16894 15855 0 13:24:10 pts/7 0:00 grep httpd |
| sunspy 回复于:2002-10-30 15:24:21 |
| # ./apachectl start 或# ./apachectl restart TYR THIS WAY |
| burningsky 回复于:2002-10-30 15:44:55 |
| 我发现问题可能就出现在 Listen 12.34.56.78:80 BindAddress 12.34.56.78 上面。 因为我加上这两句话后,运行apache没报任何错,但就是查不到进程,任何页面都打不开。注释掉这两句话后每个虚拟主机又显示一样的页面~ 这两句话有何用? |
| burningsky 回复于:2002-10-30 15:48:26 |
| 谢谢sunspy, ./httpd ./apachectl start ./apachectl restart 效果好像是一样的。 |
| 段誉 回复于:2002-10-30 16:15:53 |
| 去看我给你的短信,配置好了就贴出来,看看是哪里错了。 |
| burningsky 回复于:2002-10-30 16:28:34 |
| 搞定了!! 有点激动~~冷静下~~ |
| burningsky 回复于:2002-10-30 16:30:09 |
| [这个贴子最后由burningsky在 2002/10/30 04:33pm 编辑] 我又验证了一把,是真的搞定了! |
| 段誉 回复于:2002-10-30 16:40:48 |
| 那就贴出来你的心得。我想是我说的那种情况吧,BindAddress的问题,是吗? |
| burningsky 回复于:2002-10-30 16:45:10 |
| [这个贴子最后由burningsky在 2002/10/30 04:49pm 编辑] 不好意思,段誉,把你的短信贴出来 消息来自段誉,发送给您的时间:2002/10/30 04:06pm 消息标题:Re:你好! Listen这句话可以不用理会,它的作用是告诉Apache在哪个IP地址的哪个端口进行侦听,除非想要改变www的端口,否则不用变化。 BindAddress是专门的对虚拟主机进行绑定的一个参数,是指你的虚拟主机的每个域名绑定的IP地址,你看看是不是你的这个地址和你系统本身的IP地址不匹配。 当你的httpd启动不了的时候,你可以去/var/apache/logs下面找错误日志,就叫error_log或者看access_log里面是否有错误信息。 |
| 段誉 回复于:2002-10-30 16:49:17 |
| 哦,这没什么问题,主要是你的问题出在哪里,这才是关键,:) |
| burningsky 回复于:2002-10-30 17:13:36 |
| [这个贴子最后由burningsky在 2002/10/30 05:27pm 编辑] 我准备过几天写个文档出来(这几天都比较忙) 多些段誉大哥的提醒,我想到可能与IP地址有关系,因为,我那台Apache服务器在局域网内,有防火墙。看了段誉老兄的短信,我立即看了一下IP地址: # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.1.1.6 netmask ffffffc0 broadcast 10.1.1.63 ether 8:0:20:e6:99:bc 很明显,这里的IP地址是![color=#9932CC][size=6]10.1.1.6[/size][/color]。它的外部地址是![color=#9932CC][size=6]12.34.56.78[/size][/color]。我想可能与这有关系吧! 我试着将httpd.conf中[color=#00BFFF][size=6]所有的外部地址12.34.56.78全部改成内部地址10.1.1.6![/size][/color],然后./apachectl restart。再在浏览器上打开各虚拟主机的页面,结果OK! 我同事告诉我他在某处看到一篇文档,是关于apache的,里面有关于内部地址外部地址的设置,可能很多人都忽略了这个问题。等我找出来仔贴出来。 不知道这样的回复大家忙不满意? [size=6]多谢段誉,sunspy,vipcui,baiming等人的热情帮助![/size] [size=6][color=#DC143C]我会把这种精神传出去的![/color][/size] |
| 段誉 回复于:2002-10-30 17:23:04 |
| :),我想提个问题,你这里说的外部地址和内部地址是什么意思?是你们用防火墙做的地址映射吗? |
| burningsky 回复于:2002-10-30 17:26:32 |
| 是啊,是在路有器上作了个NAT转换,现在结果是内部网外部网都可以用default.domain.com,A.domain.com,B.domain.com访问各自的主页了,我也不知道为什么与这个有关系,我们的DNS也在内部网内,地址也是10.1.1.X,是不是与这个也有关系? |
| 段誉 回复于:2002-10-30 18:04:22 |
| 不是,你这种方式,不用理会NAT和外网的IP的,NAT会自动把你的内部IP地址转换成外部的(互相转换),因此,只要你内部的虚拟主机配置成功了就可以。 和DNS也没什么关系,虽然它定义的你的Web主机的IP是外部的,但是NAT会自动转换,访问你内部的地址。 |
| sunspy 回复于:2002-10-30 18:11:12 |
| 段誉看看我的问题 ,有点着急! |
| 段誉 回复于:2002-10-30 18:22:29 |
| 什么问题? |
| burningsky 回复于:2002-10-30 20:17:55 |
| 对啊,那为什么在apache非得用内部地址才行?我也很奇怪~~ 虽然解决了问题,但是还是很迷惑,应该有个说法的。 我找找相关文档看 |
| 吹踢球 回复于:2002-11-04 09:33:09 |
| 当然要用内部地址啊。。。你的apache主机自己并不知道你的外部地址是谁啊。所以,你设置的外部地址的虚拟主机根本没起作用。当然只能看到default页面了。你的所有的配置都没有起作用啊。 |
| burningsky 回复于:2002-11-04 09:56:59 |
| 嗯,好像不够说服力……呵呵 |
| 吹踢球 回复于:2002-11-04 15:23:18 |
| burningsky,如果你是女孩就和你认识一下,呵呵... |
| burningsky 回复于:2002-11-04 15:26:20 |
| 声明:我是男的,男的! |
| 吹踢球 回复于:2002-11-04 15:34:02 |
| 嗬嗬,看来我是想媳妇想的过分了。。。。 反正你设成外网地址肯定不对;你可以试试把所有原来使用外网地址的内容删除;再访问,我认为肯定也能正常工作,但显示的页面是default!!!因为你所有的设置根本没起作用。 |
| hss202 回复于:2003-04-28 14:15:30 |
| [quote:944fee0fff="段誉"]你把Listen和BindAddress改成下面的形式:
Listen 12.34.56.78:80 BindAddress 12.34.56.78 重起apache之后,测试是否能够显示不同的界面。[/quote:944fee0fff] 我也的出现了差不多同样的问题。可我加了BindAddress *后就不行 红帽子7.3,我的是这样的,请各位高手看看 我这两天配置虚拟主机,发现在几个奇怪的问题? 1、如我要配置两个虚拟主机 www.b.com 和www.c.com 可在浏览www.a.com的时候却是访问到www.b.com首页的内容; 用a.com b.com c.com访问的全都是b.com首页的内容。 2、在访问www.a.com时可以支持PHP,可用a.com时却不可以; httpd.conf文件 www.a.com是默认的域名 <VirtualHost 192.168.1.2> \\如把这个改为域名也会有同样的问题,有时 DocumentRoot /home/b ServerName www.b.com </VirtualHost> <VirtualHost 192.168.1.2> DocumentRoot /home/c ServerName www.c.com </VirtualHost> 如果我再这样加一个 <VirtualHost 192.168.1.2> DocumentRoot /home/a ServerName www.a.com </VirtualHost> 加了之后 用a.com b.com c.com 访问的全都是a.com目录下的内容 <VirtualHost 192.168.1.2> \\如把这个IP改为域名也会有同样的问题 用a.com b.com c.com 访问可以看到目录的内容不是主页内容 甚至这样还不可以支持PHP 以上是我在配置APACHE虚拟主机的遇到的问题,其中可能有错,还请各位高手看看,是我的设置有问题还是什么问题? 请各位高手谈谈高见!!! |
| cqwangji 回复于:2003-05-05 04:04:07 |
| burningsky的问题解决了,先恭喜了,不过当时他的问题没说清楚环境,让大家走了弯路。事实上listen和BindAddress都不用理会的,只要最后的部分按下面的标准写就ok了。
NameVirtualHost 12.34.56.78 <VirtualHost 12.34.56.78> ServerName www.a.com DocumentRoot /home/a </VirtualHost> 如果本机还有其他IP,可以接着写 NameVirtualHost 12.34.56.78 <VirtualHost 12.34.56.78> ServerName www.a.com DocumentRoot /home/a </VirtualHost> NameVirtualHost 12.34.56.79 <VirtualHost 12.34.56.79> ServerName www.b.com DocumentRoot /home/b </VirtualHost> |
| burningsky 回复于:2003-05-31 14:16:50 |
| [quote:b437afdd8b="cqwangji"]burningsky的问题解决了,先恭喜了,不过当时他的问题没说清楚环境,让大家走了弯路。事实上listen和BindAddress都不用理会的,只要最后的部分按下面的标准写就ok了。
NameVirtualHost 12.34.56.78 <VirtualHos..........[/quote:b437afdd8b] 你说的标准格式没错,我也相信每个能够上网的人都能够查到这样的标准。 可能我说得不够清楚,我实际上说的问题是个IP地址的问题,我觉得总结为一句话就是:如果你的主机有内部IP,通过PIX转化成外部IP,而你做apache虚拟服务器做不出来,建议你配置httpd.conf时用内部ip试试看。如此而已。 |
| shooray 回复于:2003-07-30 17:05:30 |
| #
# Use name-based virtual hosting. # #NameVirtualHost *:80 NameVirtualHost 192.168.0.213:80 #把这个打开就好了 我也是出这个问题,然后找到这个贴子 |
| mynetworm 回复于:2003-08-28 10:57:39 |
| 遇到同样的问题.苦~~~! |
| lanxincao 回复于:2003-09-11 16:23:51 |
| 我有局域网中。OS为REDHAT 9,用它自带的apache 2.04。在配虚拟主机时出现同样的问题,就是不同域名访问同一页面。各位大侠看看这是怎么回事。我的配置如下:
NameVirtualHost 192.168.0.44:80 <VirtualHost 192.168.0.44> ServerName www.a.com DocumentRoot /var/tomcat4/webapps/ROOT/ ServerAdmin [email protected] DirectoryIndex welcome.html index.jsp index.html main.html index.php </VirtualHost> <VirtualHost 192.168.0.44> ServerName www.b.com DocumentRoot /var/tomcat4/webapps/ROOT/ywq ServerAdmin [email protected] ErrorLog /etc/httpd/logs/ywq_log DirectoryIndex index.jsp main.html index.php index.html </VirtualHost> |
| cqfanli 回复于:2003-09-15 10:14:22 |
| 可能是你更改了之后,沒有重新啟動apache吧 |
| 金玄 回复于:2003-10-28 14:22:04 |
| 把ServerName 中的域名地址大写改小写 |