2016-07-21 2 views
1

У меня есть сайт, построенный в Ruby on Rails и блог, построенный в WordPress. URL для основного сайта будет example.com, а для блога - blog.example.com. Из-за того, как поисковые системы индексируют сайты и предпочитают блог каталога, а не блог субдомена, я хочу реализовать постоянную переадресацию, так что example.com/blog/anything перенаправит на blog.example.com/anything независимо от того, сколько коллажей или параметров содержит URL. Таким образом, даже example.com/blog/a/b/c/d/e?google=true должен перенаправлятьРельсы маршрутов: перенаправление маршрута дикой карты

До сих пор следующие работы, если есть только один каталог после блога:

get '/blog/:what', to: redirect('http://blog.codeundercover.com/%{what}') 

Я, однако, это нужно, чтобы работать независимо от того, какой текст идет после /blog. Как мне это сделать?

+0

Я не думаю, что это то, что я бы обрабатывать в маршрутизаторе рельсах. Это то, что нужно обрабатывать на уровне сервера. –

ответ

0

Ваш маршрут не использует маршрут подстановочного знака. Вместо этого, это то, что относится к Rails Routing Guide как Static Segment

Вы хотите использовать Wildcard Globbing вместо:

get '/blog/*what', to: redirect('http://blog.codeundercover.com/%{what}'), constraints: { what: /.*/ } 
+0

Пробовал, но работает только в одном каталоге. – Philip7899

+0

@ Philip7899 Попытайтесь добавить ограничение регулярного выражения. Я отредактировал свой ответ. –

Смежные вопросы