it-swarm.com.de

Festlegen von AllowOverride all

Ich möchte den AllowOverride all einstellen, weiß aber nicht, wie ich das machen soll. Ich habe den folgenden Code gefunden, indem ich in Google gesucht und ihn in .htaccess eingefügt habe:

<Directory>
        AllowOverride All
</Directory>

Aber nachdem ich es eingefügt hatte, erhielt ich "Internal Server Error"

Kann mich jemand anleiten, wo ich diesen Code ablegen soll oder wie ich das mache?

141
Munib

Wenn Sie unter Ubuntu arbeiten, bearbeiten Sie die Datei /etc/Apache2/Apache2.conf (hier haben wir ein Beispiel für /var/www):

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

und ändere es in;

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

dann,

Sudo service Apache2 restart

Möglicherweise müssen Sie auch Sudo a2enmod rewrite ausführen, um das Umschreiben des Moduls zu aktivieren.

282
Naveed

Das Hauptziel von AllowOverride besteht darin, dass der Manager der Hauptkonfigurationsdateien von Apache (die sich hauptsächlich in/etc/Apache2/befinden) entscheidet, welcher Teil der Konfiguration von Anwendungen pro Pfad dynamisch geändert werden kann .

Wenn Sie nicht der Administrator des Servers sind, sind Sie auf die AllowOverride -Ebene angewiesen, die diese Administratoren für Sie zulassen. Damit sie Sie daran hindern können, einige wichtige Sicherheitseinstellungen zu ändern.

Wenn Sie der Master-Apache-Konfigurationsmanager sind, sollten Sie immer AllowOverride None verwenden und alle auf Google_ basierenden Beispiele, die Sie auf der Grundlage von .htaccess-Dateien finden, in die Abschnitte Directory der Hauptkonfigurationsdateien übertragen. Als .htaccess-Inhalt für eine .htaccess -Datei in /my/path/to/a/directory ist derselbe wie eine <Directory /my/path/to/a/directory> -Anweisung, außer dass die .htaccess dynamische Konfigurationsänderung pro HTTP-Anforderung etwas verlangsamt Fahren Sie Ihren Webserver herunter. Bevorzugen Sie immer eine statische Konfiguration ohne .htaccess -Überprüfungen (und Sie vermeiden auch Sicherheitsangriffe durch .htaccess -Änderungen).

Übrigens verwenden Sie in Ihrem Beispiel <Directory> und dies ist immer falsch. Verzeichnisanweisungen enthalten immer einen Pfad wie <Directory /> oder <Directory C:> oder <Directory /my/path/to/a/directory>. Und dies kann natürlich nicht in einen .htaccess als .htaccess eingefügt werden, sondern ist wie eine Directory-Anweisung in einer Datei in diesem Verzeichnis. Natürlich können Sie AllowOverride in .htaccess nicht ändern, da diese Anweisung die Sicherheitsstufe von .htaccess Dateien verwaltet .

44
regilero

Gehe zu your_severpath/Apache_ver/conf/ Öffne die Datei httpd.conf im Editor.

Finden Sie diese Zeile:

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

Entfernen Sie das Hash-Symbol:

LoadModule vhost_alias_module modules/mod_vhost_alias.so

Dann gehe zu <Directory />

und wechseln zu:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Starten Sie dann Ihren lokalen Server neu.

16
Achintya Nayak

Um unter Linux den Zugriff auf das Dokumentstammverzeichnis zu vereinfachen, müssen Sie die folgende Datei bearbeiten:

/etc/httpd/conf/httpd.conf

Und je nachdem, auf welcher Verzeichnisebene Sie den Zugriff entspannen möchten, müssen Sie die Direktive ändern

AllowOverride None

zu

AllowOverride All

Angenommen, Sie möchten den Zugriff auf Dateien im Verzeichnis/var/www/html zulassen, sollten Sie die folgenden Zeilen von ändern:

<Directory "/var/www/html">
 AllowOverride None
</Directory>

zu

<Directory "/var/www/html">
 AllowOverride All
</Directory>
13
Javier La Banca

Wenn Sie Linux verwenden, können Sie den Code im Verzeichnis von bearbeiten

/etc/httpd/conf/httpd.conf

nun, hier finden Sie die Code-Zeile ein bisschen wie

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None
#
# Controls who can get stuff from this server.
#
    Order allow,deny
    Allow from all

</Directory>

Ändern Sie AllowOveride None in AllowOveride All

Jetzt können Sie jede Art von Regel in Ihrer .httacess-Datei in Ihren Verzeichnissen festlegen, wenn ein anderes Betriebssystem nur versucht, die Datei von httpd.conf zu finden und zu bearbeiten.

8
SAR

Wie andere Benutzer hier über die Verwendung der allowoveride-Direktive erklärt haben, mit der die Berechtigung zur Verwendung von .htaccess erteilt wird. Ich möchte darauf hinweisen, dass allowoverride niemals für alle verwendet wird, wenn andere Benutzer Zugriff auf .htaccess haben, statt allowoveride zu verwenden, um bestimmte Module zuzulassen.

Wie AllowOverride AuthConfig mod_rewrite Anstelle von

AllowOverride All

Denn ein Modul wie mod_mime kann Ihre serverseitigen Dateien als Klartext rendern.

5
Abhishek Gurjar

Ich denke, Sie möchten es in Ihrer httpd.conf -Datei anstelle der .htaccess -Datei festlegen.

Ich bin nicht sicher, welches Betriebssystem Sie verwenden, aber dieser Link für Ubuntu kann Ihnen einige Hinweise geben, was zu tun ist.

https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles

5
Qben

Dieses Problem ist auch aufgetreten und ich habe die Lösung im folgenden Schritt 2 gefunden: 1. Im sites-enabled-Ordner von Apache2 bearbeiten Sie im Directory-Element, indem Sie "AllowOverride all" festlegen (sollte "all" und nicht "none" sein). 2. Benennen Sie in einem Kohana-Projekt im WWW-Ordner "example.htaccess" in ".htaccess" um.

Ich habe es auf Ubuntu gemacht. Hoffe, dass es dir hilft.

1
Quang Le

SuSE Linux Enterprise Server

Stellen Sie sicher, dass Sie die richtige Datei bearbeiten https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_Apache2_configuration.html

httpd.conf

Die Hauptkonfigurationsdatei des Apache-Servers. Vermeiden Sie Änderungen an dieser Datei. Sie enthält hauptsächlich Include-Anweisungen und globale Einstellungen. Überschreiben Sie die globalen Einstellungen in den hier aufgeführten Konfigurationsdateien. Ändern Sie die hostspezifischen Einstellungen (z. B. Dokumentstamm) in Ihrer virtuellen Hostkonfiguration .

In diesem Fall muss vhosts.d/*.conf bearbeitet werden

0
escalator