it-swarm.com.de

Verboten Sie haben keine Erlaubnis auf diesen Server zuzugreifen

Ich wollte heute lediglich eine Weiterleitungsregel in einen Unterordner schreiben, z. B .: Sie geben die URL ein: example.com und werden zu example.com/subfolder weitergeleitet.

So ein einfacher Wunsch. Ich habe versucht, im Internet eine Lösung zu finden. Das Internet sagte mir, ich solle eine .htaccess - Datei im htdocs-Stammverzeichnis hinzufügen mit:

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

Ich tat dies. Aber offensichtlich kein Erfolg, sie haben mir nicht gesagt, dass ich das Modul in httpd.conf auskommentieren muss:

LoadModule rewrite_module modules/mod_rewrite.so

Also habe ich das auch gemacht. Wieder kein Erfolg. Sie haben mir nicht gesagt, dass ich meine httpd.conf ändern muss, damit die .htaccess Datei aktiviert wird:

<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>

Wieder kein Erfolg, da ich diesen Fehler bei der Eingabe der URL bekomme:

Verboten Sie haben keine Erlaubnis auf diesen Server zuzugreifen.

Jetzt stecke ich fest und konnte im Internet keine Lösungen mehr finden. Ich führe aus privaten Gründen nur Apache 2.4 auf meinem Windows 7-Computer aus.

65
QuantumHive

Ich habe meine Lösung gefunden dank Error mit .htaccess und mod_rewrite
Für Apache 2.4 und in allen * .conf-Dateien (z. B. httpd-vhosts.conf, http.conf, httpd-autoindex.conf ..etc) verwenden

Require all granted

anstatt

Order allow,deny
Allow from all

Die Anweisungen Order und Allow werden in Apache 2.4 nicht mehr unterstützt.

160
QuantumHive

WORKING-Methode {wenn es kein anderes Problem als die Konfiguration gibt}

Standardmäßig ist Appache den Zugriff nicht einschränken von ipv4. (gemeinsame externe ip)

Was kann einschränken, sind die Konfigurationen in 'httpd.conf' (oder 'Apache2.conf' abhängig von Ihrer Apache-Konfiguration)

Lösung:

Alles ersetzen:

<Directory />
     AllowOverride none
    Require all denied

</Directory>

mit

<Directory />
     AllowOverride none
#    Require all denied

</Directory>

daher alle Beschränkungen, die Apache unterliegen, aufheben

Ersetzen Sie Require local durch Require all granted im C:/wamp/www/-Verzeichnis

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
#   Require local
</Directory>
13
Jerin K. John

Die Lösung ist einfach.

Wenn Sie versuchen, mit Ihrer lokalen IP-Adresse auf den Server zuzugreifen und die Fehlermeldung Verboten Sie haben keine Berechtigung zum Zugriff auf/auf diesen Server angezeigt wird

Öffnen Sie einfach Ihre httpd.conf-Datei von (in meinem Fall C:/wamp/bin/Apache/apache2.2.21/conf/httpd.conf)

Suchen nach

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

Ersetzen Sie Zulassen von 127.0.0.1

zu

von allen zulassen

Speichern Sie die Änderungen und starten Sie den Server neu.

Jetzt können Sie mit Ihrer IP-Adresse auf Ihren Server zugreifen

3
Mehul

Das Problem liegt in der Datei https.conf!

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

Der Fehler tritt auf, wenn Hash (#) entfernt wird oder mit durcheinander gebracht wird. Diese beiden Zeilen sollten wie oben dargestellt aussehen.

2
Melvin

Ich habe meine Lösung zu Apache/2.2.15 (Unix) gefunden.

Und vielen Dank für die Antwort von @QuantumHive:

Erstens: Ich habe alles gefunden

Order allow,deny
Deny from all

anstatt

Order allow,deny

Allow from all

und dann:

Ich habe mich entschieden

#
# 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>

Entfernen Sie die vorherige "#" - Anmerkung zu

#
# 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>

ps. Mein WebDir ist:/var/www/html 

1
MaxL

Dies funktioniert für mich unter Mac OS Mojave:

<Directory "/Users/{USERNAME}/Sites/project">
    Options +Indexes +FollowSymLinks +MultiViews
    AllowOverride All
    require all granted
</Directory>
0
MIA