用于wamp / www localhost的apache虚拟主机不起作用

时间:2015-11-06 20:56:15

标签: php apache virtualhost permission-denied hosts

我已经在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>

希望任何人都可以帮助我。

3 个答案:

答案 0 :(得分:2)

抱歉,没有英语

在apache的httpd.conf文件中取消注释此行

#for localhost
<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/"
    ServerName localhost
</VirtualHost>

#for yourpage.localhost
<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/yourfolder"
    ServerName yourpage.localhost
</VirtualHost>

在c:\ wamp \ vhosts中创建一个名为anyname.conf的文件并添加此

['a','b','c','d']

这样您就不需要编辑Windows主机文件,因为您的自定义本地站点将是localhost的子域,而wamp将自行管理

修改 您可以使用'lvh.me'而不是'localhost',因为localhost不是真正的域,但是lvh.me是,并且它将自身及其所有子域解析为127.0.0.1(test.lvh.me =&gt; test.127.0.0.1)并适用于所有主流浏览器(Chrome,Firefox,Opera,Safari,IEx)

答案 1 :(得分:1)

听起来像是在尝试做错事。这听起来像是您尝试为项目列表设置虚拟主机,而不是为每个项目设置一个虚拟主机。

单独为每个项目设置一个虚拟主机并检查相关项目中的.htaccess以及您的apache配置文件。< / p>

答案 2 :(得分:0)

查看您的内容,似乎local.dev只列出了文件夹C:/wamp/www的内容。

当您点击blog时,您尝试访问:C:/wamp/www/blog,它没有任何index.php,如果您关闭了索引,则会给您403。

具有C:/wamp/www/blog/public的文件夹index.php

当您点击某个项目(例如blog)时,您实际上无法访问vhost blog.local.devlocal.dev/blog

我理解正确吗?