Вниз
Скачать: CL | DM;

Настройка apache: htaccess   Найти похожие ветки 

← →
xayam ©   (2010-10-03 00:46) [0]

Не могу понять, как сделать такую штуку в htaccess, как обработка ошибок с меняющимися путями относительно корня.
Работающие примеры:

ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 404 /const_folder/error.php?e=404
ErrorDocument 401 /error.php?e=401
ErrorDocument 403 "Извините, сегодня доступ Вам закрыт

Но такая фигня, что если файл htaccess переместить со всеми вложенными папками и файлами,
то придется редактировать в htaccess все строки с ErrorDocument.
Как можно исключить редактирование htaccess при переносе в другую папку?
Решение проблемы сводится к тому, что надо в htaccess иметь какую-то константу var_folders (может быть несколько вложенных папок),
чтобы можно было записать нечто типа этого:

ErrorDocument XXX /var_folders/error.php?e=XXX

Обыскал все переменные окружения, но такой нет.


← →
Kerk ©   (2010-10-03 00:56) [1]

А что если использовать относительные пути вместо абсолютных? Убери слэш в начале ссылки.

ErrorDocument 401 error.php?e=401


← →
xayam ©   (2010-10-03 00:58) [2]

Да пробовал уже, но вылетает сразу 500 Internal Server Error error


← →
xayam ©   (2010-10-03 00:59) [3]

и так тоже: ./


← →
Kerk ©   (2010-10-03 01:00) [4]


> xayam ©   (03.10.10 00:58) [2]
>
> Да пробовал уже, но вылетает сразу 500 Internal Server Error
> error

А в лог ошибок что пишет?


← →
xayam ©   (2010-10-03 01:15) [5]

/var_folders/.htaccess:

...
ErrorDocument 403 error.php?e=403
...

/var_folders/protect_folder/.htaccess:

Order Allow,Deny
Deny from all

При переходе по http://servername/var_folders/protect_folder/
на экран вылетает:

Forbidden

You don"t have permission to access /var_folders/protect_folder/ on this server.
Additionally, a 500 Internal Server Error error was encountered while trying
to use an ErrorDocument to handle the request.

Apache Server at ServerName Port 80

в лог:

[Sun Oct 03 01:07:27 2010]
[error]
[client IP_SERVER] client denied by server configuration: /var_folders/protect_folder

[Sun Oct 03 01:07:27 2010]
[error]
[client IP_SERVER] Invalid error redirection directive: error.php?e=403


← →
xayam ©   (2010-10-03 01:16) [6]

IP_SERVER = IP_CLIENT (IP клиента - мой то есть )


← →
Styx   (2010-10-03 01:29) [7]

ErrorDocument работает только с абсолютными путями - с этим ничего нельзя сделать. Попробуйте переформулировать задачу - возможно, Вам поможет что-то на основе RewriteRule. Там можно делать практически что угодно.


← →
xayam ©   (2010-10-03 01:43) [8]


> Вам поможет что-то на основе RewriteRule. Там можно делать
> практически что угодно.

с mod_rewrite работает, если нет файла /var_folders/protect_folder/.htaccess,
но хотел его оставить. Или нафиг?


← →
xayam ©   (2010-10-03 01:44) [9]

опс вру пока не работает. А должно? Как? :)


← →
xayam ©   (2010-10-03 01:57) [10]

точнее 403 mod_rewrite"ом можно сделать на папку. А с путями в ErrorDocument непонятно как быть.


← →
Kerk ©   (2010-10-03 02:12) [11]

Может, сделать общий файл error.php и в нем уже обрабатывать каждый конкретный случай? С помощью mod_rewrite, можно туда параметром передавать путь, куда на самом деле запрос пришел.


← →
xayam ©   (2010-10-03 02:20) [12]

Керк, проблема в том, что до модреврайта не все доходит, ErrorDocument в частности обрабатываются на уровне сервера, а не модреврайта. Это можно исправить?


← →
Styx   (2010-10-03 11:42) [13]

Идея такая, что надо от "негативной" логики перейти к позитивной. У меня, правда, прописано в конфиге апача с путями относительно корня, для httaccess надо додумать:

   RewriteCond %{DOCUMENT_ROOT}/$1 -F
   RewriteRule ^(.*)$ - [L]
   RewriteRule ^(.*)$ /error.php



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.007 c
15-1285760336
БарЛог
2010-09-29 15:38
2011.01.16
Разрешить USB floppy, запретить USB HDD


15-1285088261
Empleado
2010-09-21 20:57
2011.01.16
Ошибка при вызове ADsFreeEnumerator


2-1287647224
mfender
2010-10-21 11:47
2011.01.16
ADODataSet. Ошибка неизвестного типа


15-1285872027
Сергей М.
2010-09-30 22:40
2011.01.16
qooXdoo


2-1287842801
@!!ex
2010-10-23 18:06
2011.01.16
Как изменить высоту элемента TListBox?




   Наверх