У меня установлена версия WAMP версии 2.1 на моем компьютере с Windows 7. Когда я просматриваю localhost в своем браузере, отображается страница сервера WAMP.
Но когда я просматриваю свой IP-адрес в своем браузере, я получаю сообщение
403 Запрещено: у вас нет прав на доступ к этому серверу.
Любые предложения?
Доступ к вашему серверу 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 по-прежнему должен быть "Put Online" (последний элемент меню при щелчке левой кнопкой мыши).
После этого у меня был доступ как обычно.
Для меня включение "Требовать локальное" помогло решить ошибку 403. Файл конфигурации псевдонима выглядит следующим образом:
Alias /mytest/ "C:/mytest/"
<Directory "C:/mytest/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
Require local
</Directory>
Options Indexes FollowSymLinks MultiViews
требуется также
Решение об изменении разрешений в 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. используйте подход к файлам хостов, только если вы не хотите, чтобы сервер получал доступ извне.
Попробуйте добавить следующие строки кода в файл httpd-vhosts.conf:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>
Еще одна вещь, о которой я узнал, заключается в том, что если ваш сетевой адаптер использует 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 [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>
если вы использовали 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
Для версии Apache 2.4.x просто замените Require local
на Require all granted
в httpd.conf внутри тега <Directory "c:/wamp/www/">
, затем Перезапустить все службы
Я читал и пробовал все исправления, но никто не работал. Наконец, я обнаружил, что логотип Wamp Server является зеленым, но должен быть "PUT ONLINE".
Так просто и быстро исправить после проверки ваших PHPMyAdmin.Cofg
и HttPD.cofg
Просто нажмите кнопку PUT ONLINE
В этой проблеме может быть много причин
Что я испытал:
1) запись 127.0.0.1 localhost
была дублирована в файле hosts
2) Apache mod_rewrite
не был включен
Независимо от причины, резервное копирование вашей папки www
, поможет файл конфигурации vhost (и файл конфигурации httpd).
И этот процесс занимает несколько минут.
Удачи.
Мне потребовалось время, чтобы понять это.
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>
Вам определенно нужно убедиться, что ваши другие утки подряд, но это для меня с решением, которое сработало.
Спасибо за ваш вопрос. Теперь я использую трон 3. И я нахожу простой ответ, чтобы сделать это по вашему вопросу. Но этот ответ должен немного измениться на 3-й версии. Шаги следующие:
Я столкнулся с этой проблемой с помощью wamp на Windows 7. Добавление следующего кода в httpd-vhosts.conf решило проблему для меня.
<VirtualHost *:80>
DocumentRoot "F:/wamp_server/www/"
ServerName localhost
</VirtualHost>
Я пробовал настройки выше, и только это сработало для моей конфигурации 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>.......
Для Wamp 3.1.3 и Apache 2.4 мне просто нужно было изменить 1 строку в моем файле httpd-vhosts.conf.
После этого я смог получить доступ к своему серверу apache с других компьютеров.
Дайте кредит этому видео: https://www.youtube.com/watch?v=Sy_f6wBGnjI
Я обнаружил, что если вы используете амперы, которые по какой-то причине всегда запрещены, когда они находятся в вашей корневой папке, поэтому я поместил ее в каталог выше моей корневой папки и сделал псевдоним в httpd.conf
, используя этот
Alias /phpmyadmin "C:/Program Files (x86)/Ampps/phpMyAdmin"
Обратите внимание, что я использую ампты, и я точно не знаю, будет ли это работать для других, но стоит попробовать;)
убедитесь, что имя файла в каталоге c:/wamp/apps/phpmyadmin3.1.3.1/
соответствует имени (или версии) в phpMyAdmin.conf(Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/"
)
Мое решение состояло в том, чтобы отключить кодировку для закодированных файлов (эти файлы зеленые в окнах). Я получил эти файлы с 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.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>
Удивительно, что квадратные скобки в DocumentRoot (и связанные, например, <Directory> ) пути также могут вызывать ошибку 403:
DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]"
не удалось выполнить 403, аDocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master"
работал нормально.(Я не стал выяснять, что путь к экрану Apache, если он есть, просто переименовал путь. Если кто знает, комментарии приветствуются.)
Убедитесь, что вы не используете символ разделителя каталогов Windows (обратная косая черта) в именах путей в вашем .conf файле, даже если вы находитесь в Windows. Apache не понимает их, но все равно запускает, а затем выводит 403 Forbidden Message
.
не так:
<Directory "c:\websites\my-website\">
право:
<Directory "c:/websites/my-website/">
Эта конфигурация в 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>
У меня тоже была эта проблема. Маршрут моей проблемы состоял в том, что я ошибся в файле vhosts.conf. Если вы используете vhosts, это еще одна вещь, чтобы проверить
hi существует 2 решения:
измените порт 80 на 81 в текстовом файле (httpd.conf) и нажмите 127.0.0.1:81
изменить настройку сети перейти на панель управления - сеть и интернет - сеть и центр обмена.
click → подключение по локальной сети выберите → Propertis проверьте true в -allow other..... и --- allo прочее.....
127.0.0.1
вhttpd.conf
(файл конфигурации Apache)