Господа помогите, измучился весь!!!
Пытаюсь наскорую руку разобраться как в файле .htaccess выставить запрет доступа к определенному URI, причем требуется запретить доступ к страничке отличающейся от других параметром передаваемым методом GET, т.е. стоящем после "?"
например
запретить на сайте доступ к статьте с идентификатором Itemid=39, т.е с вот таким URL:
http://kapa.tatyxa.ru/index.php?option= ... &Itemid=39
Вроде как все что идет после протокола и имени хоста называется URI, пытался воспользоваться этим слепив нечто вроде
SetEnvIf Request_URI "Itemid=39$" not_let_me_in
Order Deny,Allow
Deny from env=not_let_me_in
Однако не работает!!!
Если производить запрет доступа по кускам пути и имени файла, т.е. части URL между хостом и "?" - все работает, все что идет после "?" в Request_URI почему-то не попадает!!!
Что делать??? Спасайте!!!
htaccess+deny
Всё очень просто. То, что до знака вопроса - это request uri. Всё, что после - query string.
Даже самый дурацкий замысел можно воплотить мастерски
Фигушки
SetEnvIf %{QUERY_STRING} "option=com_content&task=blogcategory&id=24&Itemid=39" not_let_me_in
Order Deny,Allow
Deny from env=not_let_me_in
не работает
SetEnvIf %{QUERY_STRING} "option=com_content&task=blogcategory&id=24&Itemid=39" not_let_me_in
Order Deny,Allow
Deny from env=not_let_me_in
не работает
Альтернатива
Код: Выделить всё
RewriteEngine on
RewriteCond %{QUERY_STRING} foo=bar
RewriteRule ^(.+)$ - [F]
Даже самый дурацкий замысел можно воплотить мастерски