Нужна помощь по правилам mod_rewrite для редикта на новые страницы

F
На сайте с 29.03.2005
Offline
70
fed
862

Добрый день.

Пробовал "поиск" - не помогло.

Обновили скрипт, в новом скрипте изменились правила:

было:

RewriteRule ^([0-9]*)_[a-zA-Z0-9&-\+\.'"]*/([a-zA-Z0-9&-\+\.'"]*).htm products.php?categoryId=$1&productName=$2 [L,NC]

RewriteRule ^([0-9]*)_[a-zA-Z0-9&-\+\.'"]*.htm category.php?categoryId=$1 [L,NC]

стало:

RewriteRule ^([0-9]*)-[a-zA-Z0-9&-\+\.\_'"]*/([0-9]*)-([a-zA-Z0-9&-\+\.\_'"]*).htm products.php?categoryId=$1&productId=$2 [L,NC]

RewriteRule ^([0-9]*)-[a-zA-Z0-9&-\+\.\_'"]*.htm category.php?categoryId=$1 [L,NC]

В связи с тем, что с таким трудом гугл проиндексировал 30 тыс. страниц, не хотелось бы потерять трафик и пиар.

Кто знает помогите, сделать так, чтобы старые урлы редиктом переводились на новые.

Заранее спасибо.

Oniks
На сайте с 22.08.2005
Offline
176
#1

Я вас слегка огорчу - т.к. в новых правилах появился новый символ ( _ ), написать правило редиректа будет невозможно. Если только кто-то не подскажет, как средствами mod_rewrite можно организовать функцию, наподобие str_replace().

Кстати, а что означают эти символы после ID категории и товара? Может, вам просто делать редирект в начале сборки страницы через PHP?!

Профессиональные услуги фотографа в Москве и области (http://www.oniks-photo.ru/) покупаю стать и ссылки с сайтов про охоту
F
На сайте с 29.03.2005
Offline
70
fed
#2

Спасибо за ответ.

Пробую сделать так:

RewriteRule ^([0-9]*)_[a-zA-Z0-9&-\+\.'"]*/([a-zA-Z0-9&-\+\.'"]*).htm ^([0-9]*)-[a-zA-Z0-9&-\+\.\_'"]*/([0-9]*)-([a-zA-Z0-9&-\+\.\_'"]*).htm [NC]

Видимо неправильно, т.к. вроде бы сервер лег ;(

>>Может, вам просто делать редирект в начале сборки страницы через PHP?!

Пытался, но видимо также не хватает знаний.

P.S. Пошел каяться хостеру.

-
На сайте с 07.12.2005
Offline
97
-K-
#3

Перед новыми правилами добавьте:


RewriteRule ^([0-9]*)_([a-zA-Z0-9&-\+\.'"]*)/([a-zA-Z0-9&-\+\.'"]*).htm /$1-$2/$3.htm [R=301,NC,L]
RewriteRule ^([0-9]*)_([a-zA-Z0-9&-\+\.'"]*).htm /$1-$2.htm [R=301,NC,L]
F
На сайте с 29.03.2005
Offline
70
fed
#4
-K-:
Перед новыми правилами добавьте:


RewriteRule ^([0-9]*)_([a-zA-Z0-9&-\+\.'"]*)/([a-zA-Z0-9&-\+\.'"]*).htm /$1-$2/$3.htm [R=301,NC,L]
RewriteRule ^([0-9]*)_([a-zA-Z0-9&-\+\.'"]*).htm /$1-$2.htm [R=301,NC,L]

Спасибо за помощь. Решили вопрос обращением к тех поддержке разработчика скрипта.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий