WAMP 403 запрещенное сообщение в Windows 7
Я установил WAMP версии 2.1 на моей машине windows 7. Когда я просматриваю localhost в своем браузере, страница сервера WAMP отображается.
но когда я просматриваю свой IP в своем браузере, я получаю сообщение
ошибка 403: у вас нет разрешения на доступ / на этом сервере.
какие предложения?
25 ответов
доступ к вашему серверу 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
Я нашел более простое решение...
хотя значок был зеленый WAMP все еще нужно "поставить онлайн" (последний пункт меню при щелчке левой кнопкой мыши значок).
после этого у меня был доступ как обычно.
для меня включение "Require local" помогло решить ошибку 403. Файл Alias config выглядит так:
Alias /mytest/ "C:/mytest/"
<Directory "C:/mytest/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
Require local
</Directory>
решение для изменения разрешений в httpd.conf будет работать, если вы в порядке с предоставлением доступа к серверу WAMP извне.
Если вы не хотите этого делать, все, что вам нужно сделать, это сказать windows, что домен "localhost" указывает на 127.0.0.1. Это можно сделать, отредактировав файл hosts в системном каталоге.
файл находится по адресу : C:\Windows\System32\drivers\etc\hosts
по умолчанию Windows 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. используйте подход hosts file только в том случае, если вам не нужен сервер доступ извне.
еще я узнал, что если ваш сетевой адаптер использует 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>
попробуйте добавить следующие строки кода в файл httpd-vhosts.conf:
<VirtualHost *:80>
ServerAdmin serveradmin@host.com
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>
Если вы использовали 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
Не забудьте удалить пустые элементы в httpd-vhosts.conf
<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>
для версии Apache 2.4.x просто заменить Require local
С Require all granted
на httpd.conf внутри <Directory "c:/wamp/www/">
тег после перезапустить все службы
может быть много причин для этих проблем
то, что я испытал это:
1) 127.0.0.1 localhost
запись была дублирована в файле hosts
2) Apache mod_rewrite
не был включен
независимо от причины,резервное копирование код www
папка, файл конфигурации vhost (и файл конфигурации httpd) помогут.
И такой процесс занимает несколько минут.
удачи
Я читал и пробовал все исправления, но не работал. Наконец, я обнаружил, что логотип сервера Wamp зеленый, но его нужно "поставить онлайн".
Так просто и быстро исправить после проверки вашего PHPMyAdmin.Cofg
& HttPD.cofg
просто нажмите на PUT ONLINE
Я пробовал конфигурации выше, и только это работало для моей конфигурации WAMP Apache 2.4.2. Для нескольких корневых сайтов без именованных доменов в файле Windows hosts используйте 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>.......
я столкнулся с этой проблемой с wamp в windows 7. Добавление следующего кода в httpd-vhosts.conf решил проблему за меня.
<VirtualHost *:80>
DocumentRoot "F:/wamp_server/www/"
ServerName localhost
</VirtualHost>
Спасибо за ваш вопрос. Я через ПУВР 3 сейчас. И я нахожу простой ответ, чтобы сделать это под вашим вопросом. Но этот ответ должен немного измениться на wamp 3. Шаги следующие:
- щелкните правой кнопкой мыши значок wamp
- Выберите Параметр Wamp
- выберите пункт меню: online / offline
- щелкните левой кнопкой мыши значок wamp
- вы найдете новый элемент под названием "Put online"
мне потребовалась вечность, чтобы понять это.
C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf
в этом файле вы заметите несколько примеров файлов виртуального хоста, которые выглядят так:
<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 serveradmin@host.com
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>
вам обязательно нужно убедиться, что ваши уток в ряд, но это для меня решение.
привет есть 2 решения :
измените порт 80 на 81 в текстовом файле (httpd.conf) и нажмите кнопку 127.0.0.1:81
изменить настройки сети перейдите в Панель управления--Сеть и интернет--network and sharing center
клик-->подключение по локальной сети выберите-->propertis проверьте true в-Разрешить другое ..... и - - - Алло другое .....
У меня тоже эта проблема. Моя проблема заключалась в том, что я допустил ошибку в своих постах.файл conf. Если вы используете vhosts, это еще одна вещь, чтобы проверить
эта конфигурация в 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>
убедитесь, что вы не используете символ разделителя каталогов Windows (обратная косая черта) в ваших именах путей в вашем .conf-файл, даже если вы находитесь в Windows. Apache не понимает их, но все равно запускается, а затем выводит 403 Forbidden Message
.
неправильно:
<Directory "c:\websites\my-website\">
правильно:
<Directory "c:/websites/my-website/">
удивительно, квадратные скобки в DocumentRoot (и связанные, например,
-
DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]"
не удалось с 403, в то время как -
DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master"
работала нормально.
(Я не потрудился выяснить, что путь Apache убегает, если таковой имеется, просто переименовал путь. Если кто-то знает, комментарии приветствуются.)
моим решением было отключить кодировку для закодированных файлов (эти файлы зеленые в windows). Ive получил эти файлы с компьютера MAC, и он был зашифрован по умолчанию.
Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...
и вуаля он работает.
Я пробовал все вещи, кроме очистки беспорядка .файл htaccess.
на www/ каталог и сделать копию .реврайт файл в другой папке. Затем очистите все строки .реврайт исходный файл. И добавьте эту строку,
RewriteEngine На
затем перезапустите сервер. Это решило мою проблему и получило доступ ко всем моим сайтам localhost. Надеюсь, это решит и вашу проблему.
также на Apache 2,4 вам может потребоваться добавить это в директиву directory в 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>
убедитесь, что имя файла в директории c:/wamp/apps/phpmyadmin3.1.3.1/
, соответствует имени (или версии) в phpMyAdmin.conf (Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/"
)
я обнаружил, что если вы используете ammps, что по какой-то причине его всегда запрещено, когда его в корневой папке, поэтому я положил его в каталог выше моей корневой папки и сделал псевдоним в httpd.conf
используя этот
Alias /phpmyadmin "C:/Program Files (x86)/Ampps/phpMyAdmin"
обратите внимание, что я использую ammps, и я не знаю точно, будет ли он работать для других, но стоит попробовать;)