Задать вопрос
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 комментарий
Ответ пользователя Евгений Карпов К ответам на вопрос (3)
ewal
@ewal
дизайнер-верстальщик
роботу все равно, время редиректа напрямую зависит от мощи серва, если серв мощный, то не парься, ПС обойдут ваш сайт по всем редиректам пропорционально тому, как хостинг сервер будет отдавать контент с перенаправлениями и без. Из сего следует, что тысячные и даже десятые секунды задержки входят в порог валидности по скоростным проходам для ПС
Ответ написан
Комментировать