it-swarm.com.de

Fehler bei .htaccess und mod_rewrite

Ich versuche, eine PHP-basierte Anwendung mit den folgenden .htaccess-Werten zu hosten.

Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php

RewriteEngine On
RewriteBase /easydeposit
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Ich sehe jedoch weiterhin die folgenden zwei Fehler,

[access_compat:error] [pid 25330:tid 27] AH01797: client denied by server configuration: /home/abc/opt/Apache/htdocs/xyz/system/
[access_compat:error] [pid 25330:tid 27]  AH01797: client denied by server configuration: /home/abc/opt/Apache/htdocs/xyz/private/
[access_compat:error] [pid 25330:tid 27] AH01797: client denied by server configuration: /home/abc/opt/Apache/htdocs/xyz/application/
[authz_core:error] [pid 25330:tid 27]  AH01630: client denied by server configuration: /home/abc/opt/Apache/htdocs/xyz/.htaccess

Ich bin nicht sicher, warum das so ist. Jede Hilfe wird geschätzt.

20
pratz

Wenn Sie kürzlich ein Upgrade auf eine höhere Apache-Version als 2.2 durchgeführt haben, könnte der Fehler authz_core von Ihrer Datei httpd.conf oder httpd-vhosts.conf in den <Document>-Tags stammen. mod_authz_core wurde in Apache 2.3 eingeführt und die Art und Weise geändert, in der die Zugriffssteuerung deklariert wird.

Anstelle der 2.2-Konfigurationsmethode <Directory>...

    <Directory "C:/wamp">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

Die Anweisungen Order und Allow wurden durch die Direktive Require ersetzt:

    <Directory "C:/wamp">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

Quellen http://www.andrejfarkas.com/2012/06/fun-with-wamp-server-and-Apache-2-4-2/http://httpd.Apache.org/docs/2.4/upgrading.html

57
Mabbage

Diese Frage/Antwort brachte mich zur Dokumentation , für die ich dankbar bin, und das Folgende war, was es für mich gelöst hat.

Vorherige .htaccess-Datei:

# password protection allowing multiple resources
AuthType Basic
AuthName "Restricted Area"
AuthUserFile C:\path\to\.htpasswd
AuthGroupFile /dev/null
Require valid-user

# allow public access to the following resources
SetEnvIf Request_URI "(path/to/public_files/.*)$" allow

# these lines must be updated

Order allow,deny
# Allowing an ip range:
Allow from 69.69.69
# Allowing another range:
Allow from 71.71.71

Satisfy any

Diese Konfiguration erzeugte Fehler wie:

[Do Dec 08 10: 29: 20.347782 2016] [access_compat: error] [pid 2244: tid 15876] [client 93.93.93.93:49340] AH01797: Client von der Serverkonfiguration abgelehnt: C: /path/to/index.php

aktualisiert für 2.4 Konfiguration

# 7 lines unchanged...shown again for clarification 
AuthType Basic
AuthName "Restricted Area"
AuthUserFile C:\path\to\.htpasswd
AuthGroupFile /dev/null
Require valid-user
SetEnvIf Request_URI "(path/to/public_files/.*)$" allow

# these are the changes replacing:

# Order allow,deny
# Allow from <range>
# Satisfy any

Require ip 69.69.69
Require ip 71.71.71
Require all granted
4
WEBjuju

Ich bezweifle, dass dies etwas mit Ihrer Htaccess-Datei zu tun hat. Die Fehler werden von mod_access_compat ausgegeben, die die Anweisungen Allow, Deny, Order und Satisfy bereitstellt. Irgendwo haben Sie wahrscheinlich Ihre Erlaubnis und Deny falsch konfiguriert. Der .htaccess-Fehler am Ende stammt von mod_authz_core . Daher kann es Upstream-Dateien geben, die den Zugriff auf .htaccess-Dateien vollständig blockieren.

2
Jon Lin

Ein anderes Beispiel, umschreiben von:

www.yoursite.com/script.php?product=123 

zu 

www.yoursite.com/cat/product/123/

mit 

RewriteRule cat/(.*)/(.*)/$ /script.php?$1=$2

http://w3webtutorial.blogspot.com/2013/11/htaccess-and-modrewrite-in-your-php.html

Und Sie sind absolut sicher, dass der Apache-Benutzer (wahrscheinlich _www) Zugriff auf das Verzeichnis (/home/abc/opt/Apache/htdocs/xyz/) hat?

0
LasseValentini

Sind Sie sicher, dass Sie Optionen in Ihrer .htaccess-Datei überschreiben dürfen? Überprüfen Sie dazu die Hauptkonfigurationsdatei von Apache

0
Sadeq

Für mich war eine .htaccess-Datei im Ordner wp-config, die diese Einträge enthielt

Order deny,allow
Deny from all
<Files ~ ".(xml|css|jpe?g|png|gif|js)$">
Allow from all
</Files>

Daraufhin wurden die Symbole in der Benutzeroberfläche als Quadrate angezeigt.

0
Asher Black
Options +FollowSymLinks
Options -Indexes

bei vielen Shared Hosting ist der oben genannte Code oft das Hauptproblem

0
cepeko