- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
jkm, спасибо! а какой вариант правильный из того, что я выше написал?
---------- Добавлено 12.03.2018 в 01:57 ----------
Sitealert, то есть в моих вариантах будет правильным второй вариант написания, верно?
---------- Добавлено 12.03.2018 в 02:03 ----------
У меня стоит Апач 2.4.10
будет правильным второй вариант написания, верно?
Если site.ru - дефолтный вариант, и запросы на него приходят в этот же каталог, то правильно будет выкинуть второй абзац, а вместо 4-го написать
RewriteCond %{HTTP_HOST} !site\.ru [NC]RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
Потёрто....
Sitealert, то есть вот это будет оптимально правильным написание?
RewriteCond %{REMOTE_ADDR} ^x\.x\.x\.x$ [OR]
RewriteCond %{REMOTE_ADDR} ^y\.y\.y\.y$
RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$ [NC]
RewriteRule ^ https://google.ru [R=301,L]
RewriteCond %{HTTP_HOST} !site\.ru [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
RewriteCond %{REMOTE_ADDR} ^x\.x\.x\.x$ [OR]
RewriteCond %{REMOTE_ADDR} ^y\.y\.y\.y$
RewriteCond %{HTTP_HOST} ^(www\.)?site2\.ru$ [NC]
RewriteRule ^ https://yandex.ru [R=301,L]
RewriteCond %{HTTP_HOST} !site\.ru [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
---------- Добавлено 12.03.2018 в 02:21 ----------
Sitealert, а не, неправильно
вот так правильно, да?
RewriteCond %{REMOTE_ADDR} ^x\.x\.x\.x$ [OR]
RewriteCond %{REMOTE_ADDR} ^y\.y\.y\.y$
RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$ [NC]
RewriteRule ^ https://google.ru [R=301,L]
RewriteCond %{REMOTE_ADDR} ^x\.x\.x\.x$ [OR]
RewriteCond %{REMOTE_ADDR} ^y\.y\.y\.y$
RewriteCond %{HTTP_HOST} ^(www\.)?site2\.ru$ [NC]
RewriteRule ^ https://yandex.ru [R=301,L]
RewriteCond %{HTTP_HOST} !site\.ru [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
Если правильно, то я понял логику))
Как-то так. И тестируйте - мало ли что вылезти может.
Sitealert, большое спасибо!
И ещё вопрос
можно ли вот эту часть заменить какой-то константой? у меня будет порядка 30 условий в этих строках
RewriteCond %{REMOTE_ADDR} ^x\.x\.x\.x$ [OR]
RewriteCond %{REMOTE_ADDR} ^y\.y\.y\.y$
---------- Добавлено 12.03.2018 в 02:25 ----------
30 диапазонов айпи адресов
Можно, наверное, объединить абзацы с одинаковыми условиями по IP - если он одинаковые (то есть 2, или сколько там их у Вас, первые строки одинаковые - потом ветвление по доменам).
Можно использовать условие по подсетям (выше jkm показал).
Можно использовать возможности регулярных выражений - но это Вы и сами знаете.
Sitealert, да, с регулярными выражениями меньше получается , чем по CIDR )
условия по IP одинаковые, но условия по доменам, с которых редирект разные.
Как можно объединить условия по IP адерсам, подскажите, пожалуйста)
Если доступен mod_setenvif, то можно по условию ставить своё значение в переменную окружения, а в RewriteCond проверять её значение.
Если вдруг нет mod_setenvif, то можно и без него.
Поместить всё в одно правило.
jkm, спасибо!
а что означают значения || -R ?
и вот это "%2 \
и вот это что делает после яндекса " "^(\S+) .*? \1 => (\S+)" ?
[OR] и || это всё логическое "ИЛИ".
-R '222.2.2.0/24' это компактная форма записи "%{REMOTE_ADDR} -ipmatch '222.2.2.0/24'"
http://httpd.apache.org/docs/2.4/expr.html
Обратная косая черта "\" в конце строки указывает, что директива продолжается следующую строку.
Для удобства можно поделить длинную строку RewriteCond "%2 site1.ru => google.ru site2.ru => yandex.ru " "^(\S+) .*? \1 => (\S+)" на несколько более коротких.
Между обратной косой чертой и концом строки не должно быть других символов или пробелов.
http://httpd.apache.org/docs/2.4/configuring.html
httpd configuration files contain one directive per line. The backslash "\" may be used as the last character on a line to indicate that the directive continues onto the next line. There must be no other characters or white space between the backslash and the end of the line.
Если есть доступ править httpd.conf, то для списка доменов удобнее rewritemap
RewriteMap доступен в контексте <VirtualHost>, а не .htaccess