Задать вопрос

Как сделать корректный редирект в .htaccess?

Здравствуйте!

На сайте возникла необходимость сделать 301 редирект.
В корне сайта лежит .htaccess следующего содержания:
.htaccess
<FilesMatch "\.md5$">
    Deny from all
</FilesMatch>
DirectoryIndex index.php
Options -Indexes
# Comment the following line, if option Multiviews not allowed here
Options -MultiViews
AddDefaultCharset utf-8
<ifModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !\.(js|css|jpg|jpeg|gif|png)$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [L,QSA]
</ifModule>
<ifModule mod_headers.c>
    <FilesMatch "\.(jpg|jpeg|png|gif|js|css)$">
	Header set Cache-Control "max-age=3153600, public"
    </FilesMatch>
</ifModule>
Redirect 301 /category/zhenskaya-parfumeria/ http://site.ru/zhenskaya-parfumeria/

При переходе по ссылке:
site.ru/category/zhenskaya-parfumeria/
выдаёт
site.ru/zhenskaya-parfumeria/
что и нужно, но если в ссылке имеются UTM метки вида:
&utm_source=yandex&utm_medium=cpc&utm_campaign=parfum/
сервер выдает 404 ошибку.
При этом метки, начинающиеся с
?utm
работают корректно.
Подскажите, как сделать корректный редирект, чтобы работали &utm метки? Поможет ли замена в htaccess символа "&" на "?" и как её сделать?
  • Вопрос задан
  • 2964 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@vdem
Я вообще-то не спец в .htaccess, попробуйте

Redirect 301 /category/zhenskaya-parfumeria(.*) site.ru/zhenskaya-parfumeria/?$1
Ответ написан
Комментировать
Afres
@Afres
Product Owner
Можно сделать вот так:
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^category/zhenskaya-parfumeria$     /zhenskaya-parfumeria$1 [QSA,NC,R=301,L]

Вот хорошая статья где описаны флаги и все команды для редиректов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы