.htaccess funktioniert nicht unter Cent OS 6.4

.htaccess funktioniert nicht unter Cent OS 6.4

Ich habe Cent Os 6.4 – Final Version installiert und die Umgebung für die PHP-Webentwicklung eingerichtet.

Meine Anwendung verwendet .htaccess zum Umschreiben von URLs und zum Verweigern des direkten Dateizugriffs.

meine Konfigurationsdatei von httpd - /etc/httpd/conf/httpd.conf wie unten,

<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
    Options Indexes FollowSymLinks

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

Als ich dieAllowOverride KeineZuZulassenAlle überschreiben, es verlangt eine Authentifizierung. Also funktioniert es bei mir nicht und hat den folgenden Fehler ausgegeben:

This server could not verify that you are authorized to access the document requested.

Entweder haben Sie die falschen Anmeldeinformationen eingegeben (z. B. ein falsches Kennwort) oder Ihr Browser weiß nicht, wie er die erforderlichen Anmeldeinformationen bereitstellen soll.

Meine .htaccess sieht so aus:

deny from all

Antwort1

Mit einer AllowOverride NoneEinstellung in der httpd.conf wird die .htaccess-Datei komplett ignoriert. Diese Einstellung muss also geändert werden.

Wenn .htaccess-Dateien zulässig sind, überprüft Apache in jedem Verzeichnis vom DocumentRoot abwärts, ob eine .htaccess-Datei vorhanden ist UND wendet dort die Einstellungen an, bevor es zum nächsten Verzeichnis und dort zur .htaccess-Datei hinabsteigt.

Ist beispielsweise ./www/.htaccessdie Einstellung „Von allen verweigern“ gewählt, wird der Besucher, der versucht, auf /scripts/test/hello-world.php zuzugreifen, abgewiesen, auch wenn die Einstellung ./www/scripts/test/.htaccessmöglicherweise auf „Von allen zulassen“ gewählt wurde.

Wenn also nicht Ihre PHP-Skripte eine Authentifizierung anfordern, sollten Sie die Verzeichnisse auf höherer Ebene auf .htaccess-Dateien überprüfen.

verwandte Informationen