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

Как влияет количество редиректов в htaccess?

Доброго дня!

Собственно, сайт меняет структуру и адреса страниц (порядка 2500).
Урлы я склеил в эксельке, но есть 1 проблема:
адреса со слэшем и без него обрабатываются отдельно, поэтому вместо 2500 редиректов получается 5000 (для адресов с / и без /).

Для редиректа использую конструкцию, чтобы не было пересечений с похожими урлами и редиректами нетуда:
RewriteCond %{QUERY_STRING} ^(.*)oldpage$
RewriteRule ^(.*)$ level1/level2/newpage/? [R=301,L]

RewriteCond %{QUERY_STRING} ^(.*)oldpage/$
RewriteRule ^(.*)$ level1/level2/newpage/? [R=301,L]


Отсюда 2 вопроса:
1) 5000 редиректов как-то повлияет на скорость работы сайта и обхода его роботом?
2) есть ли способ решить проблему для адресов со слэшем и без него, чтобы не делать 2 редиректа для одного и того же адреса?

Сам htaccess
AddDefaultCharset utf-8

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule .* - [F,L]


RewriteRule ^(manager|assets)/.*$ - [L]
RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !.html$
RewriteRule (.+) $1/ [R=301,L]


RewriteCond %{QUERY_STRING} ^(.*)page1/$
RewriteRule ^(.*)$ level1/leve2/page2/? [R=301,L]
  • Вопрос задан
  • 1796 просмотров
Подписаться 2 1 комментарий