36 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 8
|
||||||
1 | ||||||
Перестал работать Header18.01.2013, 10:43. Показов 1709. Ответов 16
Метки нет (Все метки)
Переехали на новый хостинг. В скриптах и файле .htaccess ничего не меняли. Перестал работать Header.
.htaccess: Код
ErrorDocument 404 /default.php ErrorDocument 401 /default.php
Код
HTTP/1.1 404 Not Found Date: Fri, 18 Jan 2013 06:32:37 GMT Server: Apache/2.0.52 (Red Hat) PHP/5.2.17 FrontPage/5.0.2.2635 X-Powered-By: PHP/4.4.9 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html; charset=WINDOWS-1251
0
|
18.01.2013, 10:43 | |
Ответы с готовыми решениями:
16
Перестал работать header Неожиданно перестал работать 302 редирект в header CURL перестал работать Перестал работать RewriteEngine |
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
||||||
18.01.2013, 14:58 | 2 | |||||
Как вариант, функция пишется с малой буквы
0
|
Почетный модератор
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
18.01.2013, 15:11 | 3 |
php регистрозависим только в отношении переменных. Вообще, непонятно, зачем отдавать статус 200 - если все нормально, он и так его отдаст..
Добавлено через 35 секунд проверьте сам путь к файлу, раз 404 ошибку выдает
0
|
36 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 8
|
|
18.01.2013, 15:32 [ТС] | 4 |
Дело в том, что все страницы на сайте обрабатывает один скрипт default.php, то есть, он отвечает на все url, формируя http-страницу. Поэтому независимо от того, какой url с сайта был запрошен, управление передаётся этому скрипту (см. .htaccess).
Дальше если страница есть, то скрипт должен выдать эту страницу, но прежде он должен выдать 200. Страница выдаётся, но перед выдачей идёт код 404, поэтому ЛЮДИ, зашедшие на сайт, всё видят хорошо, но поисковые РОБОТЫ этот сайт увидеть во всех страницах не могут - для роботов страницы не существуют. С путём к файлу всё нормально, файл работает. Вся проблема только в том, что заголовок 'http/1.0: 200 Ok', передаваемый функцией header, игнорируется.
0
|
36 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 8
|
|
18.01.2013, 15:51 [ТС] | 6 |
Дело точно вовсе не в поисковиках. Я же вижу, что страница приходит с заголовоком 'HTTP/1.1 404 Not Found', а должна приходить с другим заголовком, который я написал в скрипте. И это именно этот скрипт работает, потому что следующая функция Header отрабатывает нормально и выдаёт в HTTP-заголовок Content-Type правильно. Не срабатывает только выдача статуса в заголовок.
0
|
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
|
|
18.01.2013, 15:57 | 7 |
Двоеточие уберите после протокола.
Код
HTTP/1.0 200 OK
0
|
36 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 8
|
|
18.01.2013, 16:03 [ТС] | 8 |
Двоеточие убирал - ничего не вышло. Протокол 1.1 ставил - тоже бесполезно. Да и на прежнем хостинге ведь с двоеточем работало.
0
|
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
|
|
18.01.2013, 16:23 | 9 |
Проблема может относиться и к Апачу, и к PHP - версии обоих не слишком новые.
Добавлено через 2 минуты Идентичный вопрос: http://www.mail-archive.com/ph... 21235.html (англ.)
0
|
36 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 8
|
|
18.01.2013, 17:04 [ТС] | 10 |
Вот вполне возможно. То есть, PHP не может перекрыть заголовок Апача. И, как я понимаю, в этом случае хостер должен разбираться с версиями и настройками? У себя внутри я ничего не сделаю?
0
|
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
|
|
19.01.2013, 19:14 | 11 |
Насколько мне известно, через .htaccess это поведение не изменить.
Так что остается только рассчитывать на хостера.
0
|
36 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 8
|
|
19.01.2013, 19:27 [ТС] | 13 |
Как это наоборот?
Apache видит, что такого файла нет и пишет 404. PHP хочет написать 200, но у него не получается это сделать.
0
|
Почетный модератор
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
19.01.2013, 19:31 | 14 |
Kuskow, php и не знает об этом просто - апач уже обработал файл
Добавлено через 56 секунд хотите проверить - установите разную кодировку через .htaccess и php, посмотрите какая будет установлена в итоге
0
|
36 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 8
|
|
19.01.2013, 19:40 [ТС] | 15 |
Кодировку проверял. Устанавливается та, которую PHP прописал. не устанавливается только статус ошибки (200, 401, 404, 301)
0
|
36 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 8
|
||||||
31.01.2013, 13:54 [ТС] | 16 | |||||
Решение провайдером было найдено такое:
0
|
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
|
|
01.02.2013, 10:55 | 17 |
Значит PHP работает через CGI. Логично, но почему-то я не подумал об этом сразу.
0
|
01.02.2013, 10:55 | |
01.02.2013, 10:55 | |
Помогаю со студенческими работами здесь
17
Перестал работать код Почему перестал работать $_POST ??? Метод post перестал работать CRON (задание) перестал работать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |