переписать URL как поисковый запрос - PullRequest
2 голосов
/ 03 ноября 2010

Я недавно изменил домены, и новый сайт имеет другую структуру постоянных ссылок. Вместо того, чтобы перенаправлять все со старого сайта на новый, я бы хотел настроить .htaccess для перезаписи старого URL-адреса в виде строки запроса, чтобы можно было найти запрашиваемую страницу, не вводя ее в поиск нового сайта .

Например:

www.oldsite.com / projects / 2010 / foo-bar-foobar следует перенаправить на www.newsite.com/?s=foo+bar+foobar

Старая структура постоянных ссылок всегда начинается с года (4 цифры), новая структура полностью отличается, поэтому я думаю, что лучше всего было бы перенаправить на поисковый запрос.

Я пытался разобраться в регулярных выражениях, но просто не могу найти решение, которое работает.

Я надеюсь, что кто-то может направить меня в правильном направлении.

Спасибо!

1 Ответ

1 голос
/ 03 ноября 2010

Я всегда облажался с первого раза, но вы можете попробовать это (в .htaccess на www.oldsite.com):

RewriteRule ^/?projects/[0-9]+/(.*)$ http://www.newsite.com/?s=$1 [R]

На английском языке это соответствует URL на старом сайте, который начинается с дополнительной косой черты, за которой следует слово «проекты», затем еще одна косая черта, затем одна или несколько цифр, затем косая черта, затем любое количество символов. Он перенаправляет на новостной сайт, передавая последнюю группу «любое количество символов» в качестве строки запроса. Последняя буква «R» указывает механизму перезаписи выполнить перенаправление на пользовательский агент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...