виртуальный хост apache для wamp / www localhost не работает

1

Я настроил виртуальный хост для сайта на localhost, поэтому он будет перенаправлен на blog.local.dev, а не на local.dev/blog, и он отлично работает, но когда я пытаюсь сделать то же самое с wamp/www localhost каталог кажется проблемой. он показывает веб-сайт wamp со списком всех моих проектов, но когда я нажимаю на свои проекты, он говорит, что у меня нет доступа к нему (403 Запрещено).

вот мои хозяева

# 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 [email protected]
    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 [email protected]
    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 [email protected]
    DocumentRoot "C:/wamp/www"
    ServerName local.dev
    ErrorLog "C:/wamp/www/error.log"
    CustomLog "C:/wamp/www/access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    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>

Надеюсь, кто-нибудь может мне помочь.

  • 0
    Найдите что-то в вашем конфигурационном файле apache с надписью Order Deny,Allow или подобное. Если вы найдете его, то вам следует добавить Allow from localhost и Allow from 127.0.0.1 , если их нет.
  • 0
    Не уверен, что это вступит в игру в этом случае, но Apache всегда будет использовать первый VirtualHost, который соответствует запросу, который иногда не тот, который вы ожидаете. Это может помочь включить полные URL-адреса запросов, которые работают и не работают.
Теги:
virtualhost
permission-denied
hosts

3 ответа

2

Извините, нет английского

в файле apache httpd.conf раскомментируйте эту строку

IncludeOptional "c:/wamp/vhosts/*"

в c:\wamp\vhosts создайте файл с именем anyname.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>

таким образом вам не нужно редактировать файлы хостов Windows, потому что ваш пользовательский локальный сайт будет субдоменом localhost, а wamp будет управлять собой

Изменить: вы можете использовать "lvh.me" вместо "localhost", потому что localhost не является реальным доменом, но lvh.me yes, и он разрешает себя и все его поддомены до 127.0.0.1 (test.lvh.me => test.127.0.0.1) и работает в каждом крупном браузере (Chrome, Firefox, Opera, Safari, IEx)

1

Похоже, что вы пытаетесь сделать что-то неправильно. Похоже, вы пытаетесь настроить виртуальный хост для списка ваших проектов вместо одного виртуального хоста для каждого проекта.

Настройте один виртуальный хост для каждого проекта отдельно и проверьте .htaccess в связанном проекте, а также ваши конфигурационные файлы apache.

0

Глядя на ваш conifg, похоже, что local.dev просто перечисляет содержимое папки C: /wamp/www.

Когда вы нажимаете на blog, вы пытаетесь получить доступ к: C: /wamp/www/blog который не имеет index.php и это даст вам 403, если у вас есть индексирование.

Это папка C: /wamp/www/blog/public которой есть index.php.

Когда вы нажимаете на проект (например, blog), вы действительно не blog.local.dev доступ к blog.local.dev но local.dev/blog

Правильно ли я понимаю вас?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню