Подтвердить что ты не робот

Я получаю Access Forbidden (Ошибка 403) при настройке нового псевдонима

Я запускаю Windows 7 и недавно установил XAMPP для создания среды dev. Я не очень разбираюсь в стороне сервера, поэтому у меня возникают проблемы с настройкой псевдонима для проекта.

Пока XAMPP запущен, и если я перейду на localhost, я получу приветственную страницу XAMPP. Я создал папку "alias" в моей папке "conf" моей установки apache. Там я добавил dev.conf со следующим содержимым:

<Directory "C:\Users\my_user\My%20Documents\Aptana%20Studio%203%20Workspace\project">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from 127.0.0.1
</Directory>

Alias /dev "C:\Users\my_user\My%20Documents\Aptana%20Studio%203%20Workspace\project"

Но затем, когда я перехожу к "localhost/dev", я получаю:

Доступ запрещен!

У вас нет разрешения на доступ к запрашиваемому объекту. Это либо защищенный от чтения или не читаемый сервером.

Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру.

Ошибка 403

Я попробовал googling, и я нашел другие подобные вопросы на SO, но, похоже, я не могу понять это. Некоторые говорят, что вы должны сказать ему, что у вас есть разрешения, но в моем файле conf, который я указал, чтобы разрешить его с 127.0.0.1. Возможно, это связано с тем, что в моем пути есть пробелы (хотя некоторые поисковые роботы сказали мне, что я работаю в 20%). Мне удалось создать его в другой папке и скопировать вложенную рабочую версию, изменив псевдоним и путь, и он сломался, так что это говорит мне, что, вероятно, это тоже имеет отношение.

Я посмотрел в папку журнала и нашел следующую строку:

[Tue Dec 13 14:59:20 2011] [ошибка] [клиент:: 1] клиент, которому отказано конфигурации сервера: C:/Users/my_user/My %20Documents

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

4b9b3361

Ответ 1

Наконец-то я получил его для работы.

Я не уверен, что пробелы в пути ломают вещи, но я изменил рабочее пространство моей установки Aptana на что-то без пробелов.

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

Оказывается, Windows 7 имеет службу где-то, где используется порт 80, который блокирует запуск apache (давая ему -1). Поэтому я изменил порт, который он прослушивает на порт 8080, больше не конфликтует.

Наконец я перезапустил свой компьютер, по какой-то причине XAMPP не любит, чтобы я возился с ini файлами, и просто перезапуск apache не делал трюка.

В любом случае, это был самый неприятный день, поэтому я действительно надеюсь, что мой ответ в конечном итоге поможет кому-то!

Ответ 2

Я только что нашел ту же проблему с псевдонимами при установке Xampp на Windows.

Чтобы решить ошибку 403:

<Directory "C:/Your/Directory/With/No/Trailing/Slash">
   Require all granted
</Directory>

Alias /dev "C:/Your/Directory/With/No/Trailing/Slash"

Настройка Xampp по умолчанию должна быть в порядке с этим. Некоторые люди столкнулись с проблемами с deny, помещенными в корневой каталог, таким образом, перевернув тег каталога:

<Directory "C:/Your/Directory/With/No/Trailing/Slash">
   Allow from all
   Require all granted
</Directory>

Помог бы с этим, но текущая версия Xampp (v1.8.1 на момент написания) не требует ее.

Как и в случае с проблемой op с портом 80, Xampp содержит удобную кнопку Netstat, чтобы узнать, что использует ваши порты. Огоньте это и исправьте конфликт, я думаю, что это мог быть IIS, но он не может быть уверен.

Ответ 3

Я использую XAMPP с Apache2.4, у меня была эта же проблема. Я хотел оставить папку xampp/htdocs по умолчанию, иметь доступ к ней из locahost и иметь виртуальный хост, чтобы указать на мою область dev...

Полное содержимое моего файла C:\xampp\apache\conf\extra\http-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.

#
# Use name-based virtual hosting.
#

##NameVirtualHost *:80

#
# 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:/xampp/htdocs/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:/xampp/htdocs/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>
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot "C:\nick\static"
    ServerName dev.middleweek.co.uk
    <Directory "C:\nick\static">
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

Затем я обновил файл C:\windows\System32\drivers\etc\hosts, как этот...

# 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   dev.middleweek.co.uk
127.0.0.1       localhost

Перезагрузите компьютер для хорошей оценки, откройте панель управления XAMPP и запустите Apache.

Теперь откройте свой собственный домен в своем браузере, в приведенном выше примере он будет http://dev.middleweek.co.uk

Надеюсь, что это поможет кому-то!

И если вы хотите просмотреть списки каталогов под новым виртуальным хостом, отредактируйте свой блок VirtualHost в C:\xampp\apache\conf\extra\http-vhosts.conf, чтобы включить "Параметры индексов", как это...

<VirtualHost *:80>
    DocumentRoot "C:\nick\static"
    ServerName dev.middleweek.co.uk
    <Directory "C:\nick\static">
        Allow from all
        Require all granted
        Options Indexes
    </Directory>
</VirtualHost>

Cheers, Ник

Ответ 4

Этот вопрос устарел, и хотя вам удалось заставить его работать, но я чувствую, что было бы полезно, если бы я разъяснил некоторые моменты, которые вы подняли здесь.

Сначала о имени каталога, имеющего пробелы. Я играл с файлами конфигурации apache2 и обнаружил, что если в имени каталога есть место, заключите его в двойные кавычки и все проблемы исчезнут. Например...

    NameVirtualHost     local.webapp.org
    <VirtualHost local.webapp.org:80>
        ServerAdmin [email protected]
        DocumentRoot "E:/Project/my php webapp"
        ServerName local.webapp.org
    </VirtualHost>

Обратите внимание на то, как написана строка DocumentRoot.

Во-вторых, доступ запрещен из xampp. Я обнаружил, что в конфигурации xampp по умолчанию (..path к xampp/apache/httpd.conf) есть раздел, который выглядит следующим образом.

    <Directory>
        AllowOverride none
        Require all denied
    </Directory>

Измените его и сделайте так, как показано ниже. Сохраните файл, перезапустите apache из xampp, и это решит проблему.

    <Directory>
       Options Indexes FollowSymLinks Includes ExecCGI
       AllowOverride none
       Require all granted
    </Directory>

Ответ 5

попробуйте это

sudo chmod -R 0777/opt/lampp/htdocs/testproject

Ответ 6

Apache 2.4 виртуальные хосты hack

1. В http.conf укажите порты ниже "Listen"

Listen 80
Listen 4000
Listen 7000
Listen 9000
  1. В httpd-vhosts.conf

    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html"  
    ServerName hitesh_web.dev
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
    
    <Directory "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html">
    Allow from all
    Require all granted
    </Directory>
    
    </VirtualHost>
    

    это второй виртуальный хост

    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "E:/dabkick_git/DabKickWebsite"
    ServerName  www.my_mobile.dev
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
    
    <Directory "E:/dabkick_git/DabKickWebsite">
     Allow from all
     Require all granted
     </Directory>
    </VirtualHost>
    
  2. В файле hosts.ics Windows os "C:\Windows\System32\drivers\etc\host.ics"

    127.0.0.1             localhost
    127.0.0.1             hitesh_web.dev
    127.0.0.1             www.my_mobile.dev
    127.0.0.1             demo.multisite.dev
    

4.Напишите свои "доменные имена" в браузере, и он будет пинговать конкретную папку, указанную в пути documentRoot.

5.если вы хотите получить доступ к этим файлам в определенном порту, а затем замените 80 в httpd-vhosts.conf номерами портов, как показано ниже, и перезапустите apache

   <VirtualHost *:4000>
ServerAdmin [email protected]
DocumentRoot "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html"
ServerName hitesh_web.dev
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common

<Directory "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html">
Allow from all
Require all granted
</Directory>

</VirtualHost>

это второй vhost

<VirtualHost *:7000>
ServerAdmin [email protected]
DocumentRoot "E:/dabkick_git/DabKickWebsite"
ServerName  www.dabkick_mobile.dev
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common

<Directory "E:/dabkick_git/DabKickWebsite">
Allow from all
Require all granted
</Directory>
</VirtualHost>

Примечание: для номера порта, данного виртуальным хостам, вы должны выполнить ping в браузере, например: http://hitesh_web.dev:4000/ "или" http://www.dabkick_mobile.dev:7000/ "

6. После выполнения всех этих изменений вам необходимо сохранить файлы и перезапустить apache соответственно.

Ответ 7

Если вы установили модуль на Xampp (в Linux) через Bitnami и изменили настройки chown, убедитесь, что группа пользователей /opt/lampp/apps/<app>/htdocs и tmp daemon со всеми другими файлами и папками sibling chown для пользователя, которого вы установили, например, cd /opt/lampp/apps/<app>, sudo chown -R root:root ., затем sudo chown -R root:daemon htdocs tmp.