Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Обработка: Ошибка 404

24.12.2010, 18:09
Гость
Гость

При запросе некорректных URLs вида http://www.moysite.ru/shiny/?qwerty12345 для всех внутренних страниц сайта необходимо, чтобы сервер отдавал HTTP/1.1 404 Not Found. В настоящее время сервер отдаёт HTTP/1.1 200 ОК.
Необходимо убедиться, чтобы при запросе любых некорректных URLs вида http://www.moysite.ru/?N, где N - любой численный или строковый параметр, http://www.moysite.ru/?qwerty12345, а также URLs вида http://www.moysite.ru/., http://www.moysite.ru/? и http://www.moysite.ru// сервер отдавал HTTP/1.1 404 Not Found, либо HTTP/1.1 301 Moved Permanently.

Если не сложно дайте пример реализации при помощи модуля Mod_rewrite
и нельзя ли такие ситуации включить в саму систему неткат по умолчанию
25.12.2010, 14:05
MipH
Спирин Дмитрий
MipH

Зарегистрирован:
2004-12-22
Сообщений: 252

Вы действительно считаете, что вам это нужно?
Ведь помимо неверных параметров на сайте бывают и нужные. И вам придется фильтровать их. Например...
Мало того, если у вас есть объект для ?a=1, то его может не оказаться для a=2 и эти случаи тоже надо обрабатывать.

bbzone@gmail.com | bbz.ru | miph.info | miph.ruВы можете обратиться ко мне, если необходима разработка функционала на NetCat
25.12.2010, 18:05
Гость
Гость

Читайте внимательно там нет знака =
28.12.2010, 12:28
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

В макете дизайна в поле "шаблоны вывода навигации" добавляйте код по проверке ваших условий и если они имеются, то выдавайте нужный вам код.

как пример:
Код:
// если урл запрошен без www, то делаем переадресацию на www
if (substr(strtolower($HTTP_HOST),0,3)!="www") {
ob_end_clean();
header("Location: http://www.".$HTTP_HOST.$REQUEST_URI,true,301);
exit;
}
// если урл содержит curPos=0
if (strstr($REQUEST_URI,'curPos=0')) {
ob_end_clean();
header("Location: http://".$HTTP_HOST.preg_replace('/\/\??(&|&)/','/?',preg_replace('/\??(&|&)?curPos=0/','',$REQUEST_URI)),true,301);
exit;
}
// если урл /index/
if ($REQUEST_URI=="/index/") {
ob_end_clean();
header("Location: http://".$HTTP_HOST."/",true,301);
exit;
}


Temet nosce...
198 196 2010-12-28 12:28:15 10945
Описание проекта