jkm

Рейтинг
120
Регистрация
20.02.2014

SeoEscander,

RewriteCond %{HTTP_HOST} ^site\.ru$

RewriteRule ^$ http://newsite.ru/category [R=301,L]

RewriteCond %{HTTP_HOST} ^site\.ru$
RewriteRule ^(.*)$ http://newsite.ru/$1 [R=301,L]

webledi, на каких страницах и как именно не работает?

Просходит зацикливание и бесконечно редиректит на каких-то адресах или совсем ничего не происходит.

vital8, редирект нужно ставить в начало файла выше остальных правил сразу после RewriteEngine On

RewriteCond %{QUERY_STRING} ^instrukzia$

RewriteRule ^$ /lechenie/instrukzia.html? [R=301,L]

Или

RewriteCond %{THE_REQUEST} " /\?instrukzia "

RewriteRule ^ /lechenie/instrukzia.html? [R=301,L]

Ну технически возможность есть:

Header always set X-Robots-Tag "noindex" "expr= resp('X-Redirect-Agent') =~ /redirection/"

Но остается вопрос целесообразности делать это в htaccess, а не на стороне PHP.

Добавить always:

Header always set X-Robots-Tag

seo3_Kul,

RewriteRule ^(page)(\d+/)$ /$1-$2 [R=301,L]

Если апач версии >= 2.4

Header set X-Robots-Tag "noindex, nofollow" "expr= %{QUERY_STRING} =~ /printpage/"

В более старых версиях это можно реализовать с помощью mod_rewrite.

Header set X-Robots-Tag "noindex, nofollow" env=NOINDEXFOLLOW


RewriteEngine On

RewriteCond %{QUERY_STRING} printpage
RewriteRule ^ - [env=NOINDEXFOLLOW]

Но лучше проверку и добавление заголовков делать на стороне PHP header.

Rebroff, редирект page.htm нужно ставить выше правил для https и www.

RewriteRule ^(page|page2|page3)\.htm$ https://www.site.ru/ [R=301,L]


RewriteCond %{ENV:HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L]

Адреса с _1920 тоже попадают под это правило и для них нужно добавить исключение, чтобы не произошло зацикливание.

RewriteCond $2 !=1920

RewriteRule ^(img/\d+)_(\d+)\.(jpe?g|png|gif)$ /$1_1920.$3 [L]
mgmf:
Здравствуйте.
На сайте есть папка /img/ с картинками.
/img/12494163_600.jpg
/img/45645654_65.jpg
и т.п.
Надо чтобы вместо этих картинок грузились:
/img/12494163_1920.jpg
/img/45645654_1920.jpg
и т.п.
Т.е. заменить цифры после "_" на "1920".
Я попробовал сделать регулярное выражение в .htaccess , но оно не работает, где ошибка?

RewriteEngine On
RewriteCond %{REQUEST_URI} /img/.*?\.(jpe?g|png|gif)$
RewriteRule ^(/img/)(.+)(_)(.+)(?:jpe?g|png|gif)$ /img/$2$31920$5

Строка к которой применяется шаблон RewriteRule не начинается с "/" https://habr.com/en/company/sprinthost/blog/129560/

RewriteEngine On

RewriteRule ^(img/\d+)_\d+\.(jpe?g|png|gif)$ /$1_1920.$2 [L]
Всего: 749