任何人都可以帮助解决以下问题: 我正在使用 wamp 在 chrome 浏览器中运行项目。 添加指向我的项目目录 c:/dev/myProject 的 newAlias 后 我收到禁止消息:您无权访问此服务器上的 /newAlias。 我可以访问默认别名,例如 phpmyadmin、webgrind... 但我无法访问我自己的。 我在位于 c:/wamp 的 Win 8.1 64 位上使用 WampServer 版本 2.5 64 位。 我尝试了网上的基本内容,但没有成功。 有什么建议吗?
编辑:newAlias的内容:
Alias /bs1/ "c:/_DEV_/git/NewProject/www/"
<Directory "c:/_DEV_/git/NewProject/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>
请勿更改
httpd.conf
的该部分。这几行控制对安装 Apache 的驱动器根文件夹的访问。所以你只需通过一个方便的技巧就可以完全访问任何人。
通过 Apache 保护访问的过程是拒绝对根文件夹及以下所有内容的所有访问,然后有选择地允许特定站点访问驱动器的特定区域/文件夹。
更好的解决方案是将
httpd.conf
改回原来的样子,并在 Alias 定义中进行更改。像这样:-
Alias /bs1 "c:/_DEV_/git/NewProject/www/"
<Directory "c:/_DEV_/git/NewProject/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require local # <-- to develop on this PC
Require ip 192.168.1 # <-- to access server from another PC on your network
Require all granted # <-- to allow the world to see the beauty of your site
</Directory>
使用虚拟主机来控制每个站点而不是 Alias 的站点实际上是一个更好的主意。
以下是原因和操作方法:- WAMPServer 2.5 主页、您的项目菜单以及对虚拟主机的需求
我已将 WAMP 从 2.2.22 更新到 2.4.9,发现新的别名不起作用(与您的错误消息相同)。
检查像 phpmyadmin 这样的默认别名,我发现了这个:
Alias /phpmyadmin "c:/wamp/apps/phpmyadmin4.1.14/"
# to give access to phpmyadmin from outside
# replace the lines
#
# Require local
#
# by
#
# Require all granted
#
<Directory "c:/wamp/apps/phpmyadmin4.1.14/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
<IfDefine APACHE24>
Require local
</IfDefine>
<IfDefine !APACHE24>
Order Deny,Allow
Deny from all
Allow from localhost ::1 127.0.0.1
</IfDefine>
php_admin_value upload_max_filesize 128M
php_admin_value post_max_size 128M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
</Directory>
如果您看到文件的内容,您会注意到
<IfDefine APACHE24>
和 <IfDefine !APACHE24>
条件。所以我改变了我的别名 .conf 文件 from:
Alias /svn "c:/work/website-svn/"
<Directory "c:/work/website-svn/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>
致:
Alias /svn "c:/work/website-svn/"
<Directory "c:/work/website-svn/">
Options Indexes FollowSymLinks MultiViews
Require local
</Directory>
这解决了我的问题,我希望它也能解决你的问题。
我不是这方面的专家,但上面的答案似乎是我授予了对我的整个计算机的访问权限...因此尝试修改上面的答案以仅授予对我的别名文件夹所在位置的访问权限...
所以...转至 httpd.conf 文件...并搜索...
<Directory />
AllowOverride none
Require all denied
</Directory>
并在下面添加以下内容
<Directory "c:/path-to-your-alias-folder...">
AllowOverride none
Require all granted
</Directory>
这对我有用,我认为它可能更安全一点...我再次不是这里的专家...只是想让它发挥作用...
要允许您的服务器和 wamp 的权限,您需要 3 个步骤,请确保完成这 3 件事,之后您可以使用 IP 地址从其他网络访问您的网站,例如 http://192.168.1.1/yoursitefoldername (192.168.1.1是您的计算机或vps IP地址“yoursitefoldername”是您网站的文件夹名称,应该位于您的wamp->www文件夹中)
1.
首先 端口 80 和 443 必须允许 TCP 和 UDP 数据包。为此,请在 Windows 防火墙上为端口 80 和 443 创建 2 个 TPC 和 UDP 入站规则。 (或者您可以禁用整个防火墙进行测试,但如果允许入站规则,则可以永久解决)
2.
您需要更改 Apache 的安全设置以允许从其他任何地方进行访问,因此请编辑您的
httpd.conf
文件。
将此部分更改为:
# onlineoffline tag - don't remove
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
致:
# onlineoffline tag - don't remove
Order Allow,Deny
Allow from all
如果“允许所有”行不适合您,则使用“要求所有已授予” 那么它就会为你工作。
在 WAMPServer 版本 3 和 > 中,有一个为
localhost
预定义的虚拟主机,因此根本不要修改 httpd.conf
文件,保留您发现的样子。
使用菜单编辑
httpd-vhosts.conf
文件。
它应该看起来像这样:
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
修改为
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
希望您已为您的项目创建了虚拟主机,并且不要为您的站点使用
wamp\www
文件夹。在这种情况下,请保留 localhost 定义,仅对您的虚拟主机进行更改。
3. 进行此更改后不要忘记重新启动 Wamp 或 Apache 的所有服务
我找到了一个对我有用的解决方案。 在 httpd.conf 中我改变了:
<Directory />
AllowOverride none
Require all denied
</Directory>
到
<Directory />
AllowOverride none
Require all granted
</Directory>
这解决了问题并允许我访问我的自定义别名。
我建议您考虑设置虚拟主机。这需要几分钟的时间,但更安全。 RiggsFolly 对类似问题的回答非常详细、严谨且实用: