Запрещено У вас нет прав доступа/доступа на этом сервере

Все, что я хотел сделать сегодня, это написать правило перенаправления для подпапки, например: Вы вводите URL-адрес: example.com, и вы перенаправляетесь на example.com/subfolder

Такое простое желание. Я попытался найти решение в Интернете. Интернет сказал мне добавить файл .htaccess в корневой каталог htdocs с помощью:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteRule ^$ subfolder [L]

Я сделал это. Но никакого успеха явно, они не сказали мне, что мне пришлось раскомментировать модуль в httpd.conf:

LoadModule rewrite_module modules/mod_rewrite.so

Итак, я тоже это сделал. Нет успеха. Они не сказали мне, что мне нужно изменить мой httpd.conf, чтобы файл .htaccess был включен:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Снова нет успеха, потому что я получаю эту ошибку при вводе URL-адреса:

Запрещено У вас нет разрешения на доступ к этому серверу.

Теперь я застрял, и я не мог найти больше решений в Интернете. Я просто запускаю Apache 2.4 на своей машине с Windows 7 по частным причинам.

Ответ 1

Нашел свое решение благодаря Ошибка с .htaccess и mod_rewrite
Для Apache 2.4 и во всех *.conf файлах (например, httpd-vhosts.conf, http.conf, httpd-autoindex.conf..etc) используйте

Require all granted

вместо

Order allow,deny
Allow from all

Директивы Order и Allow устарели в Apache 2.4.

Ответ 2

РАБОЧИЙ метод {если нет никакой проблемы, кроме конфигурации}

По умолчанию Appache не ограничивает доступ из ipv4. (общий внешний ip)

Что может быть ограничено конфигурациями в 'httpd.conf' (или 'apache2.conf' в зависимости от вашей конфигурации apache)

Решение:

Заменить все:

<Directory />
     AllowOverride none
    Require all denied

</Directory>

с

<Directory />
     AllowOverride none
#    Require all denied

</Directory>

поэтому удалив все ограничения, предоставляемые Apache

Замените Require local на Require all granted в каталоге C:/wamp/www/

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
#   Require local
</Directory>

Ответ 3

Решение простое.

Если вы пытаетесь получить доступ к серверу с помощью локального IP-адреса, и вы получаете сообщение об ошибке, например, Запрещено У вас нет прав доступа/на этом сервере

Просто откройте файл httpd.conf(в моем случае C:/wamp/bin/apache/apache2.2.21/conf/httpd.conf)

Поиск

<Directory "D:/wamp/www/"> .... ..... </Directory>

Заменить Разрешить с 127.0.0.1

к

Разрешить все

Сохраните изменения и перезапустите сервер.

Теперь вы можете получить доступ к своему серверу, используя свой IP-адрес

Ответ 4

Проблема заключается в файле https.conf!

# Virtual hosts
# Include conf/extra/httpd-vhosts.conf

Ошибка возникает, когда hash (#) удаляется или запутывается. Эти две строки должны отображаться, как показано выше.

Ответ 5

Нашел мое решение на Apache/2.2.15 (Unix).

И спасибо за ответ от @QuantumHive:

Во-первых: Я нашел все

Order allow,deny
Deny from all

вместо

Order allow,deny

Allow from all

а затем:

Я установил

#
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#
#<Directory /var/www/html>
#    AllowOverride FileInfo AuthConfig Limit
#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#    <Limit GET POST OPTIONS>
#        Order allow,deny
#        Allow from all
#    </Limit>
#    <LimitExcept GET POST OPTIONS>
#        Order deny,allow
#        Deny from all
#    </LimitExcept>
#</Directory>

Удалить предыдущую аннотацию "#" до

#
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only.
#
<Directory /var/www/html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>

пс. мой WebDir:/var/www/html