it-roy-ru.com

Ошибка с .htaccess и mod_rewrite

Я пытаюсь разместить приложение на основе php со следующими значениями .htaccess.

Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php

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

Тем не менее, я продолжаю сталкиваться со следующими двумя ошибками,

[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

Я не уверен, почему это происходит. Любая помощь приветствуется.

20
pratz

Если вы недавно обновили версию Apache до версии 2.2, ошибка authz_core может быть связана с файлом httpd.conf или httpd-vhosts.conf в тегах <Document>. mod_authz_core был представлен в Apache 2.3 и изменил способ объявления контроля доступа.

Так, например, вместо 2.2 способа настройки <Directory>...

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

Директивы Order и Allow заменены на директиву Require:

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

Источники 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

Этот вопрос/ответ привел меня к документации за что я благодарен, и вот что помогло мне решить это.

Предыдущий .htaccess файл:

# 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

Эта конфигурация выдает такие ошибки, как:

[Четверг, 08.10: 29: 20.347782 2016] [access_compat: error] [pid 2244: tid 15876] [клиент 93.93.93.93:49340] AH01797: клиент отклонен из-за конфигурации сервера: C: /path/to/index.php

обновлено для конфигурации 2.4

# 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

Я сомневаюсь, что это как-то связано с вашим файлом htaccess. Ошибки вызываются mod_access_compat , который предоставляет директивы Allow, Deny, Order и Satisfy. Где-то у вас, вероятно, неправильно настроены ваши разрешения и запреты. Что касается ошибки .htaccess в конце, то она из mod_authz_core , так что может быть что-то вверх по потоку, что сразу блокирует доступ к файлам .htaccess.

2
Jon Lin

Другой пример, переписать с:

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

в 

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

с помощью 

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

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

0
Bijon Krishna Bairagi

И вы абсолютно уверены, что пользователь Apache (вероятно, _www) имеет доступ к каталогу (/home/abc/opt/Apache/htdocs/xyz/)?

0
LasseValentini

Вы уверены, что вам разрешено переопределять параметры в вашем файле .htaccess? проверьте основной файл конфигурации Apache для этого

0
Sadeq

Для меня в папке wp-config был файл .htaccess, в котором были эти записи

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

Это привело к тому, что значки в интерфейсе отображались в виде квадратов.

0
Asher Black
Options +FollowSymLinks
Options -Indexes

на многих общих хостингах приведенный выше код часто главные проблемы

0
cepeko