Запретить \?(.*)$ - реально ли в htaccess ?

Статус
В этой теме нельзя размещать новые ответы.

kud

Постоялец
Регистрация
18 Фев 2009
Сообщения
89
Реакции
11
Вообщем, задача следующая:
Нужно запретить отдавать все страницы, которые запрашиваются с GET параметром либо-же, когда URL сожержит символ "?", например:
mysite.ru/?
mysite.ru/page.html?
mysite.ru/page.html?var=2
Вобщем, если строка запроса сожержит "?" - нужно запретить доступ.

На данный момент:
Код:
RewriteEngine On
RewriteCond  %{QUERY_STRING} ^(.+) [OR]
RewriteCond  %{REQUEST_URI} ^(.*)\?$
RewriteRule ^.*$ - [F]

Дело в том что:
Код:
RewriteCond  %{REQUEST_URI} ^(.*)\?$
не хочет работать ...
Я так понимаю, что апач не учитывает знака вопроса?
Есть какое-то правило ? Нужно именно через htaccess запретить ...
 
включите в httpd.conf
RewriteLog /var/log/httpd/mod_rewrite.log
RewriteLogLevel 3
и все увидите...
П.С. Вопросики апач учитывает
 
включите в httpd.conf
RewriteLog /var/log/httpd/mod_rewrite.log
RewriteLogLevel 3
и все увидите...
П.С. Вопросики апач учитывает
Честно говоря, лог мне вобще ничего не показывает ... Всмысле того что-бы такого там увидеть что-бы все понять :) ...
Правда, тестировал локально ...
127.0.0.9 - - [05/Jul/2009:13:43:10 +0300] [site1.com/sid#78d7e8][rid#f2c110/initial] (1) [per-dir C:/www/site1/] pass through C:/www/site1/
И локально что-то вобще, правила на работают...
 
извиняюсь что немного вас запутал.
вопросик учитывается но несовсем обычно.
он есть только в %{THE_REQUEST}
думаю вам нужно написать чтото типа:
Код:
RewriteCond %{THE_REQUEST} \?.*?\ HTTP [NC]
RewriteRule .? / [R=403,L]
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху