Ich möchte das einstellen, AllowOverride all
aber ich weiß nicht, wie ich es machen soll. Ich habe den folgenden Code durch Durchsuchen von Google gefunden und eingefügt .htaccess
:
<Directory>
AllowOverride All
</Directory>
Aber nachdem ich es eingefügt hatte, fing ich an zu empfangen "Internal Server Error"
Kann mir jemand zeigen, wo ich diesen Code ablegen soll oder wie ich es machen soll?
<Directory>
Direktive erfordert ein Pfadargument.Antworten:
Wenn Sie unter Ubuntu arbeiten, bearbeiten Sie die Datei
/etc/apache2/apache2.conf
(hier haben wir ein Beispiel dafür/var/www
):und ändere es auf;
dann,
Möglicherweise müssen Sie auch
sudo a2enmod rewrite
das Umschreiben von Modulen aktivieren.quelle
sudo a2enmod rewrite
, dann hat es funktioniert. Unter Ubuntu 14.04 LTS. Hoffe, es wird jemandem nützlich sein.IncludeOptional conf-enabled/*.conf
in der letzten Zeile meinerapache2.conf
Datei ein befindet. Aber es scheint, dass diesapache2.conf
stattdessen priorisiert wird.Das Hauptziel von
AllowOverride
ist es, dass der Manager der Hauptkonfigurationsdateien von Apache (die in / etc / apache2 / hauptsächlich gefunden wird) 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 AllowOverride angewiesen Ebene ab, . Damit sie verhindern können, dass Sie einige wichtige Sicherheitseinstellungen ändern.
Wenn Sie der Master-Apache-Konfigurationsmanager sind, sollten Sie immer
AllowOverride None
alle auf Google_Basis basierenden Beispiele verwenden und übertragen, die auf .htaccess-Dateien basieren, undDirectory
Abschnitte in Abschnitte der Hauptkonfigurationsdateien übertragen. Ein .htaccess-Inhalt für eine.htaccess
Datei in entspricht/my/path/to/a/directory
einer<Directory /my/path/to/a/directory>
Anweisung, mit der Ausnahme, dass die.htaccess
dynamische Änderung der Konfiguration pro HTTP-Anforderung Ihren Webserver verlangsamt. Bevorzugen Sie immer eine statische Konfiguration ohne.htaccess
Überprüfung (und Sie vermeiden auch Sicherheitsangriffe durch.htaccess
Änderungen).Übrigens, in Ihrem Beispiel, das Sie verwenden,
<Directory>
und dies wird immer falsch sein, enthalten Verzeichnisanweisungen immer einen Pfad, wie<Directory />
oder<Directory C:>
oder<Directory /my/path/to/a/directory>
. Und natürlich kann dies nicht in einem gesetzt werden.htaccess
als.htaccess
wie ein Verzeichnis - Befehl ist , sondern in einer Datei in diesem Verzeichnis. Natürlich kann man nicht ändern ,AllowOverride
in einem.htaccess
als dieser Befehl die verwaltete Sicherheitsstufe von.htaccess
Dateien.quelle
Springen
your_severpath/apache_ver/conf/
Öffnen Sie die Dateihttpd.conf
im Editor.Finden Sie diese Zeile:
Entfernen Sie das Hash-Symbol:
Dann geh zu
<Directory />
und wechseln zu:
Starten Sie dann Ihren lokalen Server neu.
quelle
Order allow,deny
undAllow from all
sind für Apache 2.2 und früher. Mit Apache 2.4 werden diese beiden ZeilenRequire all granted
wie in anderen Antworten gezeigt ersetzt.Unter Linux sollten Sie die folgende Datei bearbeiten, um den Zugriff auf das Dokumentstammverzeichnis zu vereinfachen:
Und je nachdem, auf welche Verzeichnisebene Sie den Zugriff lockern möchten, müssen Sie die Direktive ändern
zu
Angenommen, Sie möchten den Zugriff auf Dateien im Verzeichnis / var / www / html zulassen, sollten Sie die folgenden Zeilen von ändern:
zu
quelle
Wenn Sie Linux verwenden, können Sie den Code im Verzeichnis von bearbeiten
Jetzt finden Sie hier die Codezeile irgendwie wie
Ä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.
quelle
now here fine the code line kinda like # 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. #Sep 11, 2013 apache - How to Set AllowOverride all - Stack Overflow stackoverflow.com/questions/18740419/how-to-set-allowoverride-all
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 gibt Ihnen möglicherweise einige Hinweise, was zu tun ist.
https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
quelle
Wie andere Benutzer hier über die Verwendung der Anweisung allowoveride erklärt haben, mit der die Berechtigung zur Verwendung von .htaccess erteilt wird. Ich möchte darauf hinweisen, dass niemals allowoverride all verwendet wird, wenn andere Benutzer Zugriff auf das Schreiben von .htaccess haben. Verwenden Sie stattdessen allowoveride, um bestimmte Module zuzulassen.
Wie
AllowOverride AuthConfig mod_rewrite
anstelle vonWeil ein Modul wie mod_mime Ihre serverseitigen Dateien als einfachen Text rendern kann.
quelle
Ich bin auch auf dieses Problem gestoßen und habe die Lösung wie folgt gefunden: 1. Im Sites-fähigen Ordner von Apache2 bearbeiten Sie das Verzeichniselement, indem Sie "AllowOverride all" festlegen (sollte "all" und nicht "none" sein) 2. Benennen Sie im kohana-Projekt im Ordner www "example.htaccess" in ".htaccess" um.
Ich habe es auf Ubuntu gemacht. Hoffe, dass es dir helfen wird.
quelle
SuSE Linux Enterprise Server
Stellen Sie sicher, dass Sie die richtige Datei https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_apache2_configuration.html bearbeiten
In diesem Fall
vhosts.d/*.conf
muss bearbeitet werdenquelle
Außerdem wurden bei diesen optimierten Antworten manchmal dieselben Fehler aufgrund nicht übereinstimmender und unterschiedlicher Einstellungen in einem
SSL
Teil der Webserverkonfigurationen angezeigt . (Offensichtlich, wenn keine.htaccess
Datei verwendet wird).quelle