我决定让wamp工作!
我在win7 64bits机器上安装了wampserver 2.5。
在httdp.conf文件中,我只是注释了关于vhosts的行:
Include conf/extra/httpd-vhosts.conf
httpd-vhosts.conf包含:
<VirtualHost *:80>
DocumentRoot "C:/Users/Alain/Dropbox/Website/exemples/Grafikart/Petsy_alain.dev"
ServerName petsy.dev
ServerAlias www.petsy.dev
<Directory "C:/Users/Alain/Dropbox/Website/exemples/Grafikart/Petsy_alain.dev">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
<RequireAny>
Require local
Require ip 192.168.1
</RequireAny>
</Directory>
</VirtualHost>
(我也试过要求全部授予)
我首先安装了wampserver 2.5 64位。
我能够从我的本地计算机访问http://petsy.dev
但是当我尝试从局域网的其他机器访问http://192.168.1.16/petsy.dev
时,我总是收到403错误(禁止):
[Thu Dec 04 14:43:08.519329 2014] [authz_core:error] [pid 11088:tid 776] [client 192.168.1.15:39975] AH01630: client denied by server configuration: C:/Users/Alain/Dropbox/Website/exemples/Grafikart/Petsy_alain.dev
[Thu Dec 04 14:43:08.635335 2014] [authz_core:error] [pid 11088:tid 776] [client 192.168.1.15:39975] AH01630: client denied by server configuration: C:/wamp/www/favicon.ico
当我在远程PC主机文件中添加以下行时,我远程访问petsy.dev:
192.168.1.16 petsy.dev
在这种情况下,我可以在远程计算机上使用“http://petsy.dev”访问服务器。
首先我不明白它在服务器端有什么变化,其次我不能满足于这个解决方案,因为我无法在智能手机上使用它。
由于我无法在任何地方找到答案,我终于尝试安装wampserver 2.5 32位!
同样的问题!但是有一个不同的错误:
我总是可以在本地访问我的petsy.dev网站但是现在,当我尝试远程访问它时,我收到404错误(未找到)!!!
以下是apache的访问日志 从我当地的机器:
xxxx::7d1a:xxxx:9672:xxxx - - [05/Dec/2014:19:22:25 +0100] "GET / HTTP/1.1" 200 40438
从我的远程机器:
192.168.1.15 - - [05/Dec/2014:19:22:30 +0100] "GET /petsy.dev/ HTTP/1.1" 404 295
httpd -T回答语法确定
httpd -S说:
VirtualHost configuration:
*:80 is a NameVirtualHost
default server localhost (C:/wamp/bin/apache/apache2.4.9/conf/extra/httpd-vhosts.conf:23)
port 80 namevhost localhost (C:/wamp/bin/apache/apache2.4.9/conf/extra/httpd-vhosts.conf:23)
alias localhost
port 80 namevhost petsy.dev (C:/wamp/bin/apache/apache2.4.9/conf/extra/httpd-vhosts.conf:34)
alias www.petsy.dev
ServerRoot: "C:/wamp/bin/apache/apache2.4.9"
Main DocumentRoot: "C:/wamp/www/"
Main ErrorLog: "C:/wamp/logs/apache_error.log"
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex default: dir="C:/wamp/bin/apache/apache2.4.9/logs/" mechanism=default
Mutex authdigest-opaque: using_defaults
PidFile: "C:/wamp/bin/apache/apache2.4.9/logs/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
Define: APACHE24=Apache2.4
请,我做了哪个愚蠢的错误????
答案 0 :(得分:0)
你不需要<RequireAny>
所以试试这个
<VirtualHost *:80>
DocumentRoot "C:/Users/Alain/Dropbox/Website/exemples/Grafikart/Petsy_alain.dev"
ServerName petsy.dev
ServerAlias www.petsy.dev
<Directory "C:/Users/Alain/Dropbox/Website/exemples/Grafikart/Petsy_alain.dev">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require local
Require ip 192.168.1
</Directory>
</VirtualHost>
其他信息 我不认为您了解创建虚拟主机时发生的情况。
基本上,当Apache看到它配置了一个或多个虚拟主机时,你就会感觉Apache它是多个域名的服务器。该句中的重要部分是多个域名。
这会导致Apache检查每个传入连接上的域名。然后,它会将域名与其中一个虚拟主机定义匹配,并将DocumentRoot 和可能的其他参数更改为该虚拟主机中设置的参数。
因此,重要的是您在用于访问Apache的其他PC的浏览器中使用匹配的域名,并使用其知道的域名。
这通常由真实互联网上的DNS服务器完成,但当您在自己的本地网络内,即安全地在路由器后面时,您必须使用其他方法。您可以设置自己的本地DNS服务器,但这非常复杂。
因此,简单的解决方案是在网络中的其他PC上使用HOSTS文件。
所以在另一台PC上(不是运行WAMPServer的PC),编辑\windows\system32\drivers\etc\hosts
文件并添加
192.168.1.16 petsy.dev
然后重启或执行此操作以重新加载Windows dnscache
使用&#34;以管理员身份运行&#34;启动命令窗口并执行这两个命令来重新加载缓存
net stop dnscache
net start dnscache
现在您可以在非wampserver pc上使用浏览器中的正确域名,如此
http://petsy.dev
浏览器会发现petsy.dev
存在于IP地址192.168.1.16
上。当与192.168.1.16
建立连接时,它将使用corretc域名即petsy.dev
,apache将找到虚拟主机并根据正确文件夹中的VH配置和服务器页面设置所有内容。
答案 1 :(得分:0)
这是一个很棒的教程
Project Links do not work on Wamp Server
答案#1对我有用
我正在运行Windows 7 64位
我在分配给字母A
的高清上安装了wampserver2.5(64位)
我的所有开发站点都位于A:\ website
在A:\ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-vhosts.conf我有这个
<VirtualHost *:80>
DocumentRoot "A:/websites"
ServerName localhost
ServerAlias localhost
<Directory "A:/websites">
AllowOverride All
Require local
</Directory>
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "A:/websites/example.dev/www
ServerName example.dev
ServerAlias www.example.dev
<Directory "A:/websites/example.dev/www>
AllowOverride All
Require local
Require ip 192.168.10
</Directory>
</VirtualHost>
在运行wamp的计算机上,我调整了主机文件,如下所示
127.0.0.1 example.dev
:: 1 example.dev
在本地远程计算机上,我已将主机文件的条目添加为
192.168.10.100 example.dev(这是运行wamp的计算机的ip地址)
下一步是清除你的dns缓存
打开不是Web服务器的Windows框上的终端
输入“net stop dnscache”
输入“net start dnscache”
打开浏览器并将其指向example.dev,它可以正常工作
希望这有帮助