WAMP 403 Запрещенное сообщение в Windows 7

99

У меня установлена ​​версия WAMP версии 2.1 на моем компьютере с Windows 7. Когда я просматриваю localhost в своем браузере, отображается страница сервера WAMP.

Но когда я просматриваю свой IP-адрес в своем браузере, я получаю сообщение

403 Запрещено: у вас нет прав на доступ к этому серверу.

Любые предложения?

  • 0
    Доступ к вашему серверу Apache запрещен с адресов, отличных от 127.0.0.1 в httpd.conf (файл конфигурации Apache)
  • 0
    Я исправил это, теперь я получаю 403 Запрещено в моем phpMyAdmin, какие-либо предложения для этого?
Показать ещё 2 комментария
Теги:
wampserver
wamp
http-status-code-403
httpd.conf

26 ответов

120
Лучший ответ

Доступ к вашему серверу Apache запрещен с адресов, отличных от 127.0.0.1 в httpd.conf (файл конфигурации Apache):

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

То же самое касается вашего доступа к PHPMyAdmin, конфигурационный файл phpmyadmin.conf:

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
</Directory>

Вы можете настроить их для разрешений соединений со всех IP-адресов, например:

AllowOverride All
Order allow,deny
Allow from all
  • 7
    Это, безусловно, откроет доступ с любого IP-адреса, но разве это не опасно? Правило, разрешающее «от 127.0.0.1» должно быть достаточно, чтобы разрешить локальный доступ, если это главная цель, 127.0.0.1 - это, по сути, возврат к сетевому адаптеру. Если вы введете в адресную строку 'http': //127.0.0.1: {portNumber} / {folderOrFileName} ', все должно работать нормально. Это должно работать так же, как при использовании localhost, но я обнаружил, что у некоторых браузеров есть проблемы с localhost по некоторым причинам.
  • 0
    Я не смог отформатировать свою адресную строку в последнем комментарии, поэтому в ней есть лишние «», просто игнорируйте это извините, если это кого-то смущает.
Показать ещё 4 комментария
62

Я нашел более простое исправление...

Хотя значок был зеленым, WAMP по-прежнему должен быть "Put Online" (последний элемент меню при щелчке левой кнопкой мыши).

После этого у меня был доступ как обычно.

  • 4
    Этот парень заслуживает больше голосов
  • 3
    На самом деле, это должно быть помечено как принятый ответ. Спасибо, чувак.
Показать ещё 4 комментария
25

Для меня включение "Требовать локальное" помогло решить ошибку 403. Файл конфигурации псевдонима выглядит следующим образом:

Alias /mytest/ "C:/mytest/" 

<Directory "C:/mytest/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
    Require local
</Directory>
  • 3
    Это работало и для меня, используя Apache 2.4.9. Давно искал это. Спасибо!
  • 0
    Options Indexes FollowSymLinks MultiViews требуется также
Показать ещё 2 комментария
10

Решение об изменении разрешений в httpd.conf будет работать, если вы в порядке с предоставлением доступа к серверу WAMP извне.

Если вы не хотите этого делать, все, что вам нужно сделать, это указать, что домен "localhost" указывает на 127.0.0.1. Это можно сделать, отредактировав файл hosts в системном каталоге.

Файл размещается по адресу: C:\Windows\System32\drivers\etc\hosts

по умолчанию окна 7 поставляются с:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

Вы должны отменить комментарий для localhost:

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
#   ::1         localhost

Примечание: вы не сможете редактировать файл hosts в качестве файла, доступного только для чтения. Чтобы изменить, вы должны быть администратором, скопировать файл в другое место, отредактировать его, а затем скопировать обратно в каталог etc.

Я не рекомендую изменять файл hosts. Используйте разрешения файла httpd.conf. используйте подход к файлам хостов, только если вы не хотите, чтобы сервер получал доступ извне.

7

Попробуйте добавить следующие строки кода в файл httpd-vhosts.conf:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>
7

Еще одна вещь, о которой я узнал, заключается в том, что если ваш сетевой адаптер использует IPV6, он не будет отображаться как 127.0.0.1, но:: 1

Что я сделал, так это:

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
</Directory>

То же самое касается вашего доступа к PHPMyAdmin, конфигурационный файл - phpmyadmin.conf:

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
        Allow from ::1
</Directory>
  • 0
    Я думаю, что этот ответ действительно затрагивает важную вещь, которую спрашивают, а именно, что, когда IPv6 включен, localhost разрешается в IPv6-адрес (:: 1), и это, в свою очередь, означает, что запрашивающий адрес также будет IPv6-адресом (также :: 1) который НЕ совпадает с 127.0.0.1, который является единственным адресом, с которого разрешены соединения. Кроме того, localhost по умолчанию разрешается через локальный DNS-сервер (не хосты), и, по моему мнению, лучше оставить его таким, и вместо этого либо отключить IPv6, чтобы localhost разрешил до 127.0.0.1, либо изменить / включить, как указано выше.
  • 0
    просто добавление «Разрешить из :: 1» в «c: \ wamp \ alias \ phpmyadmin.conf file» решило проблему phpmyadmin 403.
4

Не забудьте удалить фиктивные элементы в httpd-vhosts.conf

<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>
  • 0
    Спасибо! Это исправило это.
  • 0
    Этот трюк сработал. большое спасибо
4

если вы использовали localhost/phpmyadmin/

просто используйте

127.0.0.1/phpmyadmin/для PHPMyAdmin

127.0.0.1/sqlbuddy/для SQLBuddy

или если вы использовали localhost: 8080/phpmyadmin/then

127.0.0.1:8080/phpmyadmin/для PHPMyAdmin

127.0.0.1:8080/sqlbuddy/для SQLBuddy

3

Для версии Apache 2.4.x просто замените Require local на Require all granted в httpd.conf внутри тега <Directory "c:/wamp/www/">, затем Перезапустить все службы

  • 1
    Это помогло мне. Странно то, что 2 других VirtualHosts (в httpd-vhosts.conf) не имеют «Требовать локальный» или «Требовать все предоставлено» и все еще работают нормально. _ (ツ) _ / ¯
2

Я читал и пробовал все исправления, но никто не работал. Наконец, я обнаружил, что логотип Wamp Server является зеленым, но должен быть "PUT ONLINE". Так просто и быстро исправить после проверки ваших PHPMyAdmin.Cofg и HttPD.cofg Просто нажмите кнопку PUT ONLINE

2

В этой проблеме может быть много причин

Что я испытал:
1) запись 127.0.0.1 localhost была дублирована в файле hosts

2) Apache mod_rewrite не был включен

Независимо от причины, резервное копирование вашей папки www, поможет файл конфигурации vhost (и файл конфигурации httpd). И этот процесс занимает несколько минут.

Удачи.

1

Мне потребовалось время, чтобы понять это.

C:\WAMP\Bin\Apache\apache2.4.9\конф\дополнительной\HTTPd-vhosts.conf

В этом файле вы увидите несколько примеров файлов виртуального хоста, которые выглядят так:

<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 localhost
</VirtualHost>

Вам определенно нужно убедиться, что ваши другие утки подряд, но это для меня с решением, которое сработало.

  • 0
    Была такая же проблема, это решило ее для меня
1

Спасибо за ваш вопрос. Теперь я использую трон 3. И я нахожу простой ответ, чтобы сделать это по вашему вопросу. Но этот ответ должен немного измениться на 3-й версии. Шаги следующие:

  • Щелкните правой кнопкой мыши значок Wamp
  • Выберите настройку Wamp
  • Нажмите пункт меню: онлайн/офлайн
  • Значок левой кнопки мыши
  • Вы найдете новый пункт под названием "Положить онлайн"
  • 0
    Спасибо, @ Милтонб.
1

Я столкнулся с этой проблемой с помощью wamp на Windows 7. Добавление следующего кода в httpd-vhosts.conf решило проблему для меня.

<VirtualHost *:80>
  DocumentRoot "F:/wamp_server/www/"
  ServerName localhost
</VirtualHost>
1

Я пробовал настройки выше, и только это сработало для моей конфигурации WAMP Apache 2.4.2. Для нескольких корневых сайтов без именованных доменов в вашем файле хостов Windows используйте http://locahost:8080, http://localhost:8081, http://localhost:8082 и эту конфигурацию:

#ServerName localhost:80
ServerName localhost

Listen 8080
Listen 8081
Listen 8082
#..... 
<VirtualHost *:8080>
    DocumentRoot "c:\www"
    ServerName localhost
    <Directory "c:/www/">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
<VirtualHost *:8081>
    DocumentRoot "C:\www\directory abc\svn_abc\trunk\httpdocs"
    ServerName localhost
    <Directory "C:\www\directory abc\svn_abc\trunk\httpdocs">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
#<VirtualHost *:8082></VirtualHost>.......
0

Для Wamp 3.1.3 и Apache 2.4 мне просто нужно было изменить 1 строку в моем файле httpd-vhosts.conf.

  1. Откройте httpd-vhosts.conf
  2. Измените "Требовать локальный" на "Требовать все предоставленные"
  3. Перезапустите все службы

После этого я смог получить доступ к своему серверу apache с других компьютеров.

Дайте кредит этому видео: https://www.youtube.com/watch?v=Sy_f6wBGnjI

0

Я обнаружил, что если вы используете амперы, которые по какой-то причине всегда запрещены, когда они находятся в вашей корневой папке, поэтому я поместил ее в каталог выше моей корневой папки и сделал псевдоним в httpd.conf, используя этот

Alias /phpmyadmin "C:/Program Files (x86)/Ampps/phpMyAdmin"

Обратите внимание, что я использую ампты, и я точно не знаю, будет ли это работать для других, но стоит попробовать;)

0

убедитесь, что имя файла в каталоге c:/wamp/apps/phpmyadmin3.1.3.1/ соответствует имени (или версии) в phpMyAdmin.conf(Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/")

0

Мое решение состояло в том, чтобы отключить кодировку для закодированных файлов (эти файлы зеленые в окнах). Я получил эти файлы с MAC-компьютера и по умолчанию был зашифрован.

Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...

И вуаля работает.

0

Я пробовал все вещи, кроме очистки беспорядка в файле .htaccess.

Перейдите в каталог www/и сделайте копию файла .htaccess в другой папке. Затем очистите все строки в исходном файле .htaccess. И добавьте эту строку,

RewriteEngine On

Затем перезапустите сервер. Это решило мою проблему и получило доступ ко всем моим сайтам localhost. Надеюсь, это тоже решит вашу проблему.

0

Также на Apache 2,4 вам может потребоваться добавить это в директиву каталога в conf, в случае, если вы решили включить httpd-vhosts.conf.

По умолчанию вы можете установить wamp в C: \, но по-прежнему хотите развернуть свою веб-разработку в другом месте.

Чтобы сделать это внутри vhosts.conf, вы можете добавить эту директиву:

<Directory "e:/websites">
    Options Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    AllowOverride All
  <IfDefine APACHE24>
    Require local
  </IfDefine>
  <IfDefine !APACHE24>
    Order Deny,Allow
    Allow from all
    Allow from localhost ::1 127.0.0.1
  </IfDefine>
</Directory>
0

Удивительно, что квадратные скобки в DocumentRoot (и связанные, например, <Directory> ) пути также могут вызывать ошибку 403:

  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]" не удалось выполнить 403, а
  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master" работал нормально.

(Я не стал выяснять, что путь к экрану Apache, если он есть, просто переименовал путь. Если кто знает, комментарии приветствуются.)

0

Убедитесь, что вы не используете символ разделителя каталогов Windows (обратная косая черта) в именах путей в вашем .conf файле, даже если вы находитесь в Windows. Apache не понимает их, но все равно запускает, а затем выводит 403 Forbidden Message.

не так:

<Directory "c:\websites\my-website\">

право:

<Directory "c:/websites/my-website/">
0

Эта конфигурация в httpd.conf отлично работает для меня.

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 ::1
</Directory>
0

У меня тоже была эта проблема. Маршрут моей проблемы состоял в том, что я ошибся в файле vhosts.conf. Если вы используете vhosts, это еще одна вещь, чтобы проверить

0

hi существует 2 решения:

  • измените порт 80 на 81 в текстовом файле (httpd.conf) и нажмите 127.0.0.1:81

  • изменить настройку сети перейти на панель управления - сеть и интернет - сеть и центр обмена.

click → подключение по локальной сети выберите → Propertis проверьте true в -allow other..... и --- allo прочее.....

Ещё вопросы

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