- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
у меня сайт сделан на php.
Все станицы имеют вид http://domen.ru/?page=main_
как сделать, чтобы при несуществующей странице, например
?page=main2 выдавалась 404 ошибка?
в .htaccess
ErrorDocument 404 /error404.php
в error404.php (имена файлов соответственно как Вы хотите)
<?
# Ошибка, страница не найдена
if (function_exists("apache_lookup_uri"))
header("http/1.0 404 Not Found");
else
header("Status: 404 Not Found");
?>
Текст ошибки
Bor-ka, боюсь, что Вы не совсем правы.
IrokezV, надо в Вашем файле index.php проверять значение передаваемых переменных. Если эти значения соответствуют несуществующей странице тогда уже отправлять код отклика 404, как описано выше.
K. Ermakov, действительно, недочитал
в .htaccess ничего писать не надо, только проверка, отдача 404 и далее
теперь когда я сделал, как вы господа советуете у меня появляется вместо 404 ошибки:
Warning: Cannot modify header information - headers already sent by (output started at /home/*****/public_html/index.php:2) in /home/****/public_html/main.php on line 57
Что скажете?
IrokezV, а читать текст ошибки умеете?
заголовки header нужно отправляь до вывода контента в поток, а у Вас идет вывод в 57 строчке main.php
Делать надо:
- Поставить проверку и вывод хэадера выше вывода данных.
или
- воспользоваться ob_start (пошловатое решение, имхо).
html-заголоки надо отдавать прежде чем отдаете хоть какой-то текст. Т.е. надо ставить в САМЫЙ верх страницы, до любых тегов.
html-заголоки
http правильнее думается
а как теперь проверить отклик?
P.S. в программировании я ноль, не ругайтесь
IrokezV, воспользуйтесь проверкой HTTP заголвоков, например вот здесь:
http://www.promoting.ru/http_headings/
Всем спасибо, проблема решена.