简体   繁体   中英

apache virtual host for wamp/www localhost doesnt work

I have set up a virtual host for a website on localhost, so it will be directed to blog.local.dev rather than local.dev/blog and it works fine, but when i try to do the same with the wamp/www localhost directory the seem to be a problem. it show the wamp website with a list of all my projects, but when i click on my projects it says i dont have permission to access it(403 Forbidden).

here is my hosts

# 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

her is my 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>

Hope any one can help me.

Sorry, no english

in apache's httpd.conf file uncomment this line

IncludeOptional "c:/wamp/vhosts/*"

in c:\\wamp\\vhosts create a file called anyname.conf and add this

#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>

in this way you don't need to edit windows hosts file because your custom local site will be a subdomain of localhost and wamp will manage itself

Edit: you can use 'lvh.me' instead of 'localhost', because localhost isn't a real domain, but lvh.me yes, and it resolves itself and all its subdomains to 127.0.0.1 (test.lvh.me => test.127.0.0.1) and works in every major browser (Chrome, Firefox, Opera, Safari, IEx)

Sounds like your trying to do something wrong anyways. It sounds like your trying to setup a virtual host for the list of your projects, instead of one virtual host for each project.

Setup one virtual host for each project seperately and check the .htaccess in the associated project, aswell as your apache config files.

Looking at your conifg, it seems like local.dev just lists the content of the folder C:/wamp/www .

When you click on blog , you try to access: C:/wamp/www/blog which doesn't have any index.php and that will give you a 403 if you have Indexing off.

It's the folder C:/wamp/www/blog/public that have the index.php .

When you click on a project (like blog ) you don't really access the vhost blog.local.dev but local.dev/blog

Am I understanding you correctly?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM