.htaccess переадресация на другой домен если ссылка длиннее чем..

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем silmarion, 26 янв 2015.

  1. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    194
    Симпатии:
    19
    Добрый день, как сделать
    в .htaccess переадресацию на другой домен если ссылка длиннее чем..
    Скажу для чего

    Бомбили недавно сайт запросами типа


    Хочу сделать если решат повторить чтобы запрос переадресовывался на другой домен
     
  2. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    217
    Симпатии:
    281
    Например для 100 символов
    RewriteRule .{100} http://site.ru/ [L,R]
     
    latteo нравится это.
  3. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    194
    Симпатии:
    19
    site.ru это будет домен куда будет идти переадресация?
     
  4. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    217
    Симпатии:
    281
    Да. Подставь любой домен.
     
  5. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    194
    Симпатии:
    19
    А выше этой строки ничего прописывать больше не нужно?
    а то не реагирует
     
  6. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    217
    Симпатии:
    281
    Для включения mod_rewrite необходимо RewriteEngine On
    Должно быть так
    Код:
    RewriteEngine On
    RewriteRule .{100} http://site.ru/ [L,R]
    
     
  7. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    194
    Симпатии:
    19
    Invalid command 'RewriteRule.{200}', perhaps misspelled or defined by a module not included in the server configuration
     
  8. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    217
    Симпатии:
    281
    RewriteRule пробел потом точка.
    Слитно только фигурные скобки и точка.
     
  9. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    194
    Симпатии:
    19
    Да вроде бы также написал как у тебя
    была ошибка что написал выше
    также в конфиге подправил AllowOverride none на AllowOverride All
    и заработало все, спасибо

    А как быть если будут использовать типа мойсайт.ру/index.php?blablalbablablalbablablalbablablalbablablalba
    ну и также всякие +union
     
  10. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    217
    Симпатии:
    281
    В переменной %{THE_REQUEST} содержится полная строка запроса "GET / HTTP/1.1"
    Код:
    RewriteEngine On
    RewriteCond %{THE_REQUEST} .{200}
    RewriteRule ^ http://site2.ru/ [L,R]
    
    Хотя если доступен для редактирования конфиг сервера то лучше LimitRequestLine
    http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestline
     
    Последнее редактирование: 26 янв 2015
    latteo нравится это.