【发布时间】:2015-11-06 20:56:15
【问题描述】:
我已经在 localhost 上为网站设置了一个虚拟主机,因此它将被定向到 blog.local.dev 而不是 local.dev/blog 并且它工作正常,但是当我尝试对 wamp 做同样的事情时/www localhost 目录似乎是一个问题。它显示带有我所有项目列表的 wamp 网站,但是当我单击我的项目时,它说我无权访问它(403 Forbidden)。
这是我的主人
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 localhost
127.0.0.1 local.dev
127.0.0.1 blog.local.dev
她是我的 httpd-vhosts.conf
# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin rofl@roflmao.org
DocumentRoot "C:/wamp/www"
ServerName local.dev
ErrorLog "C:/wamp/www/error.log"
CustomLog "C:/wamp/www/access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin rofl@roflmao.org
DocumentRoot "C:/wamp/www/blog/public"
ServerName blog.local.dev
ErrorLog "C:/wamp/www/blog/logs/error.log"
CustomLog "C:/wamp/www/blog/logs/access.log" common
</VirtualHost>
希望有人可以帮助我。
【问题讨论】:
-
在你的 apache 配置文件中寻找
Order Deny,Allow或类似的东西。如果找到了,则应添加Allow from localhost和Allow from 127.0.0.1(如果它们不存在)。 -
不确定它是否会在这种情况下发挥作用,但 Apache 将始终使用与请求匹配的第一个 VirtualHost,这有时不是您所期望的。包含有效和无效请求的完整 URL 可能会有所帮助。
标签: php apache virtualhost permission-denied hosts