RedirectMatch 301 ^/(catalog1)/[^/]+/([^/]+\.html)$ /$1/$2
RewriteEngine on
RewriteRule ^(catalog1)/[^/]+/([^/]+\.html)$ /$1/$2 [R=301,L]
RewriteRule ^/
тут не нужен /
Первому RewriteRule передается путь от того места, где находится .htaccess, до запрошенного файла. Эта строка никогда не начинается со "/".
Если же mod_rewrite используется в<VirtualHost>
, он будет работать по-другому:
В<VirtualHost>
в RewriteRule попадает весь путь запроса, начиная от первого слеша, заканчивая началом параметров GET:-> "/news/category/post.html". Эта строка всегда начинается со /.http://example.com/some/news/category/post.html?comments_page=3
RewriteCond %{THE_REQUEST} "! /catalog/filter/"
RewriteCond %{THE_REQUEST} "! /catalog/product/"
RewriteRule ^catalog(/.+)$ /catalog/product$1 [L,R=301]
Redirect 301 categoriya https://site.ru/categoriya-new
RewriteEngine on
RewriteRule ^categoriya$ /categoriya-new [R=301,L]
RewriteRule ^podcategoriya$ /podcategoriya-new [R=301,L]
RewriteRule ^categoriya/podkategoriya/(\S+)$ /categoriya-new/podkategoriya-new/$1 [R=301,L]
RewriteRule ^(.*)купить /$1 [R=301,L]
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.сайт\.ком$
RewriteRule ^(.*)$ https://сайт.ком/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://сайт.ком/ [R=301,L]
RewriteRule ^en$ /en/ [R=301,L]
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteCond %{REQUEST_URI} !^/en/$
RewriteRule ^(.*)/$ /$1.html [R=301,L]
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*) https://сайт.ком/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/wp-admin
RewriteRule . / [R=301,L]
RewriteRule ^massaj(.*)$ http://varmedia.ru/ [R=301,L]
^
означает начало строки, так что с ^massaj
могут совпасть только строки начинающиеся на massaj, а вы проверяете адреса начинающиеся на category/massaj/ и редирект не происходит. RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
и запрос отправляется в index.php. https://varmedia.ru/category/massaj
RewriteRule ^category/massaj https://varmedia.ru/ [R=301,L]
RewriteRule ^(f)(/.*|)$ /$1.php$2 [L]
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^/.]+)(/.*|)$ /$1.php$2 [L]
RewriteRule ^link/(.+)$ /link.php?key=$1 [L]
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
/diagnostika%20%D0%B8
RewriteCond %{THE_REQUEST} " /diagnostika%20%D0%B8 "
RewriteRule ^ /diagnostika [R=301,L]
%XX
.RewriteRule "^diagnostika и$" /diagnostika [R=301,L]
Redirect 301 "/diagnostika и" /diagnostika
RedirectMatch 301 "^/diagnostika и$" /diagnostika
RewriteCond %{THE_REQUEST} "^GET / "
RewriteCond %{HTTP:Cookie} !language
RewriteRule ^$ /uk [L,R=302]
# 1 - 99
RewriteRule ^([^/]+)/[1-9]\d?$ /$1/index.php [L]
# 100 - 9999
RewriteRule ^([^/]+)/[1-9]\d\d\d?$ /$1/intel.php [L]
RewriteCond %{THE_REQUEST} " /catalog/index\.html"
RewriteRule ^ /catalog [L,R=301]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(|(.+)/)index\.html /$2 [L,R=301]