Доброго времени суток.
подскажите пожалуйста. Появилась необходимость сделать редирект с части страниц одного сайта на страницы другого сайта.
К примеру есть страницы:
domen1/cgi-bin/page.cgi?category=1&id=1
domen1/cgi-bin/page.cgi?category=2&id=2
domen1/cgi-bin/page.cgi?category=3&id=3
и таких страниц штук 200
а редирект нужен такие страницы:
domen2/page.php?id=1
domen2/page.php?id=2
domen2/page.php?id=3
id страницы не совпадают на двух сайтах. Я конечно могу 200 редиректов указать в htaccess но боюсь на пользу это не пойдет.
в perl не разбираюсь.
Может быть можно к примеру через файл domen1/index.php проверять по списку страницы для редиректа и при совпадении делать редирект.
Сейчас редиректы делаю через javascript, а хотелось чтобы был статус 301 для робота.
Заранее спасибо.
- 31.01.2014 17:50
- Регистрация: 09.02.2012
- Сообщений: 29
- Репутация: 6
- 31.01.2014 22:28Редиректы поддерживают шаблоны, например,200 редиректов указать в htaccess
([0-9]+)
([0-9a-zA-Z]+)
и т.д.
Так что все ваши 200 редиректов вполне могут уместиться в одну строчку (если, конечно, допускают шаблонизацию)
Ну а другой вариант - обрабатывать уже внутри самого скрипта и делать редирект (как вы и написали). - 31.01.2014 22:32
а чем плохо 200 редиректов в .htaccess, будет тормозить?
Не получится ведь с шаблонизацией, ТС говорит что цифры не совпадают, адреса, выходит, совершенно разные.
У меня когда джумла глючила с категориями, после исправления ссылок через БД (правил категории) приходилось делать до 80 редиректов, так как в индекс попали кривые ссылки (дубликаты), не стал заморачиваться с rel="canonical" - 01.02.2014 13:00
- Регистрация: 09.02.2012
- Сообщений: 29
- Репутация: 6
forekko,
Когда пытался найти ответ в интернете там была запись что апач будет жутко тормозить если много редиректов в htaccess.
может есть какой нибудь готовый скрипт для редиректа множества страниц? - 01.02.2014 13:17
а ты попробуй будет тормозить или нет, мне кажется 200 это не много
- 01.02.2014 14:37
После переноса с Joomla на WordPress куча ссылок слетела. Делал редирект 301 через htaccess - все ок.
- 01.02.2014 18:50
- Регистрация: 09.02.2012
- Сообщений: 29
- Репутация: 6
proGoodWin, куча это сколько? трафа много?
- 02.02.2014 11:23
Хороший вопрос. Однозначно не могу ответить. Но лично я стараюсь минимизировать обработку в htaccess . Все-таки не забываем, что он сканируется при каждом запросе к сайту.
В идеале, надо бы провести моделирование и посмотреть, что произойдет с нагрузкой. И если увеличится, то насколько.Спасибо сказали:
WebMario(03.02.2014), - 03.02.2014 12:20
- Регистрация: 09.02.2012
- Сообщений: 29
- Репутация: 6
Попробую постепенно добавлять ссылки и отслеживать нагрузку.
Попытался сделать редирект так:
RewriteEngine On
Redirect 301 /cgi-bin/page.cgi?category=1&id=1 domen2/page.php?id=1
но он не работает. Как я понял с переменными нельзя указывать ссылку. Подскажите как сделать редирект в таком случае?
---------- Сообщение добавлено 10:20 ---------- Предыдущее 09:21 ----------
Попробовал так:
RewriteEngine on
RewriteBase /
RewriteCond %{QUERY_STRING} ^category=1&id=1$ [NC]
RewriteRule ^page.cgi$ хттп://domen2/page.php?id=1 [R=301,L]
тоже не работает. вылезает 404 ошибка. - 03.02.2014 20:06
Так, все что после ? припаяется к index.php
PHP код:А так, только id переброситRewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} category=[0-9]*&id=[0-9]{1,4} [NC]
RewriteRule ^cgi-bin/page.cgi$ http://csvparsing.ru/index.php [R=301,QSA,L]
PHP код:При 500+ редиректов в .htaccess - сайт будет работать без тормозов. Кстати, для "Redirect 301 url1 url2" - ModRewrite не нужен, он просто сравнивает строки.RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} category=[0-9]*&id=([0-9]{1,4}) [NC]
RewriteRule ^cgi-bin/page.cgi$ http://csvparsing.ru/index.php?id=%1 [R=301,L]
Если у вас точка входа на сайт одна, можете php редирект организовать, но это не будет быстрее чем через .htaccessПоследний раз редактировалось nikolay1519; 03.02.2014 в 20:21.
Спасибо сказали:
WebMario(05.02.2014),
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Редирект 301 для нескольких страниц | Вопросы от новичков | 1 | 16.07.2013 00:21 |
Как сделать редирект 301 со страниц со старым ЧПУ на новый ? | DLE | 8 | 06.01.2013 17:01 |
Редирект для страниц записей | WordPress | 1 | 21.09.2012 00:55 |
Как правильно сделать редирект внутренних страниц? | Web программирование | 16 | 22.03.2012 15:58 |
Как правильно сделать редирект внутренних страниц? | Вопросы от новичков | 3 | 17.03.2012 15:33 |