LINUX.ORG.RU
решено ФорумAdmin

Настройка .htaccess


0

1

Добрый день.

Возникла необходимость изменить url - добавить два знака к city (сейчас ...city=11... будет ...city=0011...).

Сейчас (частный случай):

http://ru.interhospital.com/hospital.pl?country=11&region=77&city=11&clinic=0003&type=1021&spec=1029

в новой версии:

http://ru.interhospital.com/hospital.pl?country=11&region=77&city=0011&clinic=0003&type=1021&spec=1029

Как изменить .htaccess - для роботов, иначе Яндекс будет год переиндексировать?

Сейчас в .htaccess написано:

RewriteEngine on
.......
RewriteRule hospital\.pl(.*)$ /cgi-bin/hospital.pl$1 [L]
.......

Нужно общее решение. Что-то:

RewriteRule hospital\.pl\?(.*)city=11(.*)$ /cgi-bin/hospital.pl$1city=0011$2 [R=301,L]
RewriteRule hospital\.pl(.*)$ /cgi-bin/hospital.pl$1 [L]

У меня на локальной машине (Debian) не работает. Может надо как-то выделить переменные во второй части...

Ответ на: комментарий от medexpert

RewriteRule обрезает строку аргументов.

Сделано - более короткий вариант:

RewriteCond %{QUERY_STRING} country=([0-9]{2})&region=([0-9]{2})&city=([0-9]{2})
RewriteRule credits\.pl /cgi-bin/credits\.pl\?country=%1\&region=%2\&city=00%3 [R=301,L]

RewriteRule credits\.pl(.*)$ /cgi-bin/credits.pl$1 [L]

medexpert
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.