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 /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) Apachemod_rewrite
не был включеннезависимо от причины,резервное копирование код
www
папка, файл конфигурации vhost (и файл конфигурации httpd) поможет. И такой процесс занимает несколько минут.удачи
Я читал и пробовал все исправления, но не один работал. Наконец я обнаружил, что логотип WAMP Server зеленый, но его нужно "поставить в интернете". Так просто и быстро исправить после проверки вашего
PHPMyAdmin.Cofg
&HttPD.cofg
просто нажмите на поставить онлайн
Я пробовал конфигурации выше, и только это работало для моего WAMP Apache 2.4.2 config. Для нескольких корневых сайтов без именованных доменов в файле 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>
Спасибо за ваш вопрос. Сейчас я использую wamp 3. И я нахожу простой ответ, чтобы сделать это под вашим вопросом. Но этот ответ должен немного измениться на wamp 3. Шаги следующие:
- щелкните правой кнопкой мыши значок wamp
- Выберите Параметр Wamp
- выберите пункт меню: online / offline
- щелкните левой кнопкой мыши значок wamp
- вы найдете там новый пункт под названием "положить онлайн"
мне потребовалась вечность, чтобы понять это.
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.конф) и нажмите кнопку 127.0.0.1:81
изменить настройки сети зайдите в Панель управления--Сеть и Интернет--Центр управления сетями
клик-->подключение по локальной сети выберите-->propertis проверьте true в-разрешить другие ..... и - - - Алло другое .....
У меня тоже эта проблема. Маршрут моей проблемы состоял в том, что я допустил ошибку в своих vhosts.файл conf. Если вы используете vhosts это еще одна вещь, чтобы проверить
эта конфигурация в httpd.конф прекрасно работает для меня.
<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 (и связанные с ними, например ) пути также могут вызвать ошибку 403:
DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]"
не удалось с 403, в то время какDocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master"
работала нормально.(Я не стал выяснять путь Apache, если он есть, просто переименовал путь вместо этого. Если кто-то знает, комментарии приветствуются.)
мое решение состояло в том, чтобы отключить кодирование для закодированных файлов (эти файлы зеленые в windows). Я получил эти файлы с компьютера MAC, и он был зашифрован по умолчанию.
Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...
и вуаля он работает.
Я пробовал все вещи, кроме очистки беспорядка .файл htaccess.
на www/ каталог и сделать копию .htaccess файл в другой папке. Затем очистите все строки .htaccess исходный файл. И добавьте эту строку,
RewriteEngine On
затем перезапустите сервер. Это решило мою проблему и получило доступ ко всем моим сайтам localhost. Надеюсь, что это решит и ваш тоже.
также на Apache 2,4 вам может потребоваться добавить это в директиву каталога в conf, в случае, если вы решили включить httpd-vhosts.конф.
по умолчанию вы можете установить 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, и я не знаю наверняка, будет ли он работать для других, но его стоит попробовать ;)