Работа с header()

Trifon

Новичок
Работа с header()

Есть зазенденый скрипт, в результате выполнения отдается 404 ошибка в хедере, но контент отдается тоже...

Как заменить 404 на 200?
 

kruglov

Новичок
Кто отдает, скрипт или Апач из-за того, что ЧПУ сделаны через задн... эээ... ErrorDocument, а не через mod_rewrite?
 

Trifon

Новичок
отдает скрипт, ибо запрос всегда идет к index.php через .htaccess
 

Nelius

кипарис во дворе
Похоже что ЧПУ через задн...)
Можно глянуть содержимое файлика .htaccess ?
 

kruglov

Новичок
Самое простое. но не самое красивое и правильное:
<?
header($_SERVER["SERVER_PROTOCOL"]." 200 OK ");
include("index.php");
?>
 

Trifon

Новичок
//.htaccess
ErrorDocument 403 /index.php
ErrorDocument 404 /index.php
DirectoryIndex index.php
DefaultLanguage ru
<Files ~ "inc$|ini$|tpl$">
Deny from all
</Files>
Options -Indexes
RewriteEngine on
RewriteRule (.+)(/[0-9]+)(s?)\.(gif|jpg|swf|png)$ $1$2$3


>>kruglov
так тоже пробовал, работает через раз, то есть содержимое отдается, но в заголовке все равно 404 и браузер теряется что ему делать
 

Nelius

кипарис во дворе
Ну Вам же сразу сказали что у Вас редирект через ErrorDocument. Вот сервер и возвращает ошибку 404.
Пример как подругому:

RewriteEngine On
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

Еще:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

Это навскидку, мог и ошибку где допустить.
 
Сверху