Не получается превратить неиспользуемый GET в error 404 или 302

Painerman

Новичок
Не получается превратить неиспользуемый GET в error 404 или 302

Здравствуйте!
Пожалуйста, помогите!
От меня требуют, чтобы данные не являющиеся необходимыми, т.е. не обрабатываемые двигателем сайта вызывали ошибку 404 или редирект 302. Я с этим не справляюсь!

Вот подробные требования:
Заказал продвижение сайта по ключевым словам и получил телегу на 18 листов, вот пытаюсь реализовать требования:

Ошибка 404
При обращении к заведомо несуществующей странице, например, http://www.webserver.ru/800965746546.html, сервер выдает: HTTP/1.1 200 OK. Необходимо настроить сервер так, чтобы при обращении к несуществующей странице он выдавал: HTTP/1.1 404 Not Found.
Некорректная обработка данного запроса может привести к неправильной индексации сайта поисковыми системами и к проблемам с индексацией вообще, вплоть до полного исключения сайта из индекса поисковой системы.
При запросе некорректных URLs вида http://www.webserver.ru/200x4.html?id=22394545654665 для всех внутренних страниц сайта необходимо, чтобы сервер отдавал HTTP/1.1 404 Not Found. В настоящее время сервер отдаёт HTTP/1.1 200 ОК.
Необходимо убедиться, чтобы при запросе любых некорректных URLs вида http://www.webserver.ru/?N, где N – любой численный или строковый параметр, например, http://www.webserver.ru/?qwe, сервер отдавал HTTP/1.1 404 Not Found, либо HTTP/1.1 301 Moved Permanently.
При этом в поле Location должен быть прописан URL, содержащий основной хост ресурса, т.е. http://www.webserver.ru/.
Для отслеживания статистики переходов при проведении рекламных кампаний необходимо произвести соответствующую настройку сервера (страницы со специальным параметром, например, _openstat, должны отдавать ответ сервера HTTP/1.1 200 ОК).
Для сервера Apache это можно реализовать при помощи модуля Mod_rewrite. Для этого необходимо создать следующие правила переадресации в конфигурационном файле сервера Apache .htaccess, расположенного в корневой директории сервера (DOCUMENT_ROOT):

PHP:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^.+$
RewriteCond %{QUERY_STRING} !_openstat=.+$
RewriteRule ^.*$ http://%{HTTP_HOST}/? [R=301,L]
В случае использования иных параметров для отслеживания статистики рекламных кампаний, правила необходимо скорректировать.
Важно: данные правила переадресации даны в качестве примера, для некоторых платформ возможно потребуется доработка данных правил.

Вот не работает их писанина или все запросы, где идет преобразование с передачей данных (

PHP:
RewriteRule ^([0-9]+)_([0-9]+).html$        /second.php?g=$1&m=$2
) скидывает на index или циклит сайт. Прокатывают только

PHP:
RewriteRule ^admin.html$        /admin.php
- тривиальные вещи. DOCUMENT ROOT на сколько я понял это папка www со всеми файлами, но уже так замучался, что начал сомневаться!
И еще в настройках сервера обнаружил REQUEST_METHOD GET - мож это мешает и необходимо изменить на POST? Пока не пробовал не знаю влияет это или нет!

Люди добрые поможите! :) Заранее спасибо!

P.S. PHP Version 5.2.6, Apache/1.3.41 (Unix) mod_deflate/1.0.21 mod_ssl/2.8.31 OpenSSL/0.9.7g rus/PL30.22

-~{}~ 12.02.09 14:39:

Да, если кто имеет опыт в этом вопросе, возможно, есть способ сделать чтобы сервер выдавал ответ 301 при наличии знака ? в URL. Что-то своя голова уже подпухла, я уж недели две бьюсь и этой лабудой все форумы "загадил", и все безрезультатно!
:)

-~{}~ 12.02.09 14:40:

Да, если кто имеет опыт в этом вопросе, возможно, есть способ сделать чтобы сервер выдавал ответ 301 при наличии знака ? в URL. Что-то своя голова уже подпухла, я уж недели две бьюсь и этой лабудой все форумы "загадил", и все безрезультатно!
:)
 

Фанат

oncle terrible
Команда форума
я уж недели две бьюсь и этой лабудой все форумы "загадил", и все безрезультатно!
значит, ты профнепригоден

если твой сайт отдает 200 - значит все запросы обрабатывает твой скрипт.
кто тебе мешает в твоем собственном скрипте написать выдачу 404?
 

Painerman

Новичок
Автор оригинала: *****
значит, ты профнепригоден

если твой сайт отдает 200 - значит все запросы обрабатывает твой скрипт.
кто тебе мешает в твоем собственном скрипте написать выдачу 404?
Спасибо, за оскорбления. На самом деле это для меня не главная задача, просто своими силами не получается довести дело до конца или не требуемым способом.

Собственно беда в том, что
PHP:
RewriteRule ^z([0-9]+)_([0-9]+)_[1]_([0-9]).html$	/zenon.php?a=$1&b=$2&c=1&d=$3 [L]
это правило допускает z1_2_1_0.html?nenuzhnoe=0&bred=vasia - т.е. посторонние данные. Что тогда ставить проверку $_GET на наличие среди списка возможных переменных - наличие посторонних и ставить редирект?

В принципе возможно, но если есть способ сделать это в .htaccess двумя командами, тогда какой смысл телегу городить, тем более что так требуют крутилы и количество переменных всё время растет вместе с функциями сайта.

И еще одно, я просил о помощи, а не об обсуждении меня, как хорошего или плохого работника... И последнее, мы Русские живущие на Родине всегда побеждаем, потому, что никогда не нападаем и козни не строим!

Привет!
 

Painerman

Новичок
Автор оригинала: *****
жесть. где тебе мозги промывали?
И мы вас любим Биллы!
Взорвите себе ещё пару небоскребов, а вообще давайте заканчивать с бесполезняком - я не этого просил!

Привет!
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Painerman
Ответ тебе дали в первом-же посте.
Если ты не в состоянии его понять - бери веник и иди заметать улицы.

-~{}~ 12.02.09 16:44:

ps
И последнее, мы Русские живущие на Родине всегда побеждаем, потому, что никогда не нападаем и козни не строим!
Ога.
А так-же наивно доверяем подписи "Место проживания".
 

Painerman

Новичок
Автор оригинала: Mr_Max
Ога.
А так-же наивно доверяем подписи "Место проживания".
Я ж не шифруюсь... смысл? Стесняться собственного пердянска?

Ответ может быть лишь ответом, и не может быть вопросом! По крайней мере там и Одесса не написано. :)
Возможно ли что я не заметил или дал его сам себе?

-~{}~ 12.02.09 18:22:

Смысл в том, что при ModRewrite GET вообще не нужен!
Что, ставить проверки в каждом файле где есть формы? А почему в .htaccess не прописать обрубание любых передач?
Потом как он может обрабатывать переменные о которых не знает - он их не обрабатывает, он их игнорирует. Видимо вы сами не отдупляетесь еще на меня наезжаете.
Так или иначе я и в статусе чайника всегда довожу дело до конца, с помощью или без, и неплохо за это получаю! Не всем же в очках ходить!

-~{}~ 12.02.09 18:30:

Размышляю дальше:

Если есть VASIA.PHP файл в котором один оператор echo ""; и боле ни хрена нет, и тут какой-то экспериментатор мутнул в строке адреса:

vasia.php?vasia=kaziol, что должно произойти - обработаться как-то? или ничего?
мне нужно 404 или 301, так что считаю все наезды беспочвенными!А мне попрежнему нужна помощь по корректировке этого:
PHP:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^.+$
RewriteCond %{QUERY_STRING} !_openstat=.+$
RewriteRule ^.*$ http://%{HTTP_HOST}/? [R=301,L]
 

ys

отодвинутый новичок
А вот у меня этот трейд прекрасно читается по ссылке:

http://phpclub.ru/talk/showthread.php?s=&threadid=112887&rand=6&vasja=kozel

что я делаю не так? :)
 
Сверху