Доступ к файлам; .htaccess

  • Автор темы -=GogA[qwe]=-
  • Дата начала

-=GogA[qwe]=-

Guest
Доступ к файлам; .htaccess

data/.htaccess:
Order allow,deny
Deny from all

Как сделать, чтобы при запросе было что-то вроде как при отсутствии фала:
ErrorDocument 404 /error404.php
 

Winer

Мимо проходил
ErrorDocument 403 /error403.php - ты это имел ввиду ???
или что ???
 

-=GogA[qwe]=-

Guest
А... поздно заметил номер "ошибки", теперь обрабатываю все:
.htaccess
PHP:
ErrorDocument 400 /error.php?error=400&errorname=BAD_REQUEST
ErrorDocument 401 /error.php?error=401&errorname=UNAUTHORIZED
ErrorDocument 403 /error.php?error=403&errorname=FORBIDDEN
ErrorDocument 404 /error.php?error=404&errorname=NOT_FOUND
ErrorDocument 405 /error.php?error=405&errorname=METHOD_NOT_ALLOWED
ErrorDocument 408 /error.php?error=408&errorname=REQUEST_TIME_OUT
ErrorDocument 410 /error.php?error=410&errorname=GONE
ErrorDocument 411 /error.php?error=411&errorname=LENGTH_REQUIRED
ErrorDocument 412 /error.php?error=412&errorname=PRECONDITION_FAILED
ErrorDocument 413 /error.php?error=413&errorname=REQUEST_ENTITY_TOO_LARGE
ErrorDocument 414 /error.php?error=414&errorname=REQUEST_URI_TOO_LARGE
ErrorDocument 415 /error.php?error=415&errorname=SERVICE_UNAVAILABLE
ErrorDocument 500 /error.php?error=500&errorname=INTERNAL_SERVER_ERROR
ErrorDocument 501 /error.php?error=501&errorname=NOT_IMPLEMENTED
ErrorDocument 502 /error.php?error=502&errorname=BAD_GATEWAY
ErrorDocument 503 /error.php?error=503&errorname=SERVICE_UNAVAILABLE
ErrorDocument 506 /error.php?error=506&errorname=VARIANT_ALSO_VARIES
Ну вот возникла другая проблема, если ошибки 404 и 403 можно как-то сподручно сгенерить, а вот остальные...

Пробовал так:
PHP:
<?php
header("HTTP/1.0 500 INTERNAL SERVER ERROR");
?>
И так:
PHP:
<?php
header("Status: 500 INTERNAL SERVER ERROR");
?>
Не что не работает...

Кстати ошибку 500 сделал поправками в .htaccess, но проблема осталась, он неидёт в error.php, а выдаёт стандартную ошибку Апача (т.к. вызов error.php идёт из .htaccess).

Если кто знает, как заставить heаder'ом передать ошибку - подскажите....
 

Lav

Guest
Попробуй выдать HTTP/1.1 вместо HTTP/1.0.

Вообще, стоит выдавать ответ с такой же версией протокола, что и запрос (версия протокола имеется в $_SERVER).
 

-=GogA[qwe]=-

Guest
Lav
Скрипт
PHP:
<?php
print_r($_SERVER);
?>
выдаёт
[SERVER_PROTOCOL] => HTTP/1.1

пишу:
PHP:
<?php
header("HTTP/1.1 404 Not Found")
?>
и ничего не происходит:(
 

Lav

Guest
Хм.

Что означает "ничего не происходит"? Если ты выдаёшь header и больше ничего, то сервер выдаст пустую страницу. У неё будет response code 404, но ты этого не увидишь - вывод-то пустой. Попробуй вдобавок к 404-му коду ещё что-нибудь вывести. Ну, например "Error 404 Page Not Found", и посмотри, что покажет браузер.

500 Internal Server Error больше не выдаёт?
 

Lav

Guest
Угу.

Какой путь к .htaccess от корня сайта?
Какой путь к error.php от корня сайта?
Какое значение параметра AllowOverride из httpd.conf?
 
Сверху