- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите, как можно закрыть GET-запросы к страницам через htaccess, которые содержат переменную, например: site.ru/site1/zuzu1234567 (окончание может быть разным)?
Нашел такой вариант, но он не работает:
RewriteCond %{QUERY_STRING} zuzu
RewriteRule ^.*$ - [F]
Есть еще такой вариант:
RewriteCond %{REQUEST_METHOD} GET
RewriteRule ^(.*/)?zuzu$ - [L,F]
Но тут фишка в том, что работает он только для site.ru/site1/zuzu, а для site.ru/site1/zuzu1234567 уже не работает.
Тогда так
jkm, рукалицо. Много знаков подставлял, но не догадался этот убрать :) Благодарю. А можно, кстати, это же правило одновременно прописать для POST-запросов?
Убрать совсем RewriteCond %{REQUEST_METHOD} GET
или поменять RewriteCond %{REQUEST_METHOD} GET|POST
Убрать совсем RewriteCond %{REQUEST_METHOD} GET
или поменять RewriteCond %{REQUEST_METHOD} GET|POST
Спасибо.
Возникла еще одна проблема. Если адрес имеет такой вид site.ru/site1/?zuzu1234567, то данное правило не работает, перебрасывает на главную. Почему?
http://site.ru/site1/?zuzu1234567
В RewriteRule попадает только site1/ т.е все до знака вопроса
GET переменные попадают в %{QUERY_STRING}
или так
В THE_REQUEST полная строка зароса "GET /site1/?zuzu1234567 HTTP/1.1"
jkm, понял вас и уже успел погуглить. Схема интересная, только проблема в том, что она, как я понимаю, подразумевает использование одной страницы. Мне же нужно такое правило для любой страницы сайта. Вот в чем загвоздка.
Опишите подробнее. Вместо site1 может быть что угодно?
/test/?zuzu1234567
/test/zuzullllllll
/test/test2/zuzullllllll
Да, любая страница. Например, site.ru/boom/?zuzu1234567, site.ru/soup/?zuzu1843437df, site.ru/bank/?zuzu0974539test и далее в этом духе. По идее, при таких урлах должна отдаваться 403, но движок таков, что открывает ту же страницу, что и по основному адресу.
Любой адрес где есть фрагмент /zuzu или ?zuzu
Нет, редиректит на главную, 403 не выдает. Тестирую такой штукой
<form method="GET" action="/?zuzu"><input type="submit"/></form>