具有多个子域的旧版Urls Rails

时间:2012-07-20 18:17:17

标签: ruby-on-rails ruby nginx

好的,我一直在研究多种方法,但无法真正找到可行的解决方案。

我们有一个旧网站,其子网域被用作类别,网址结构如下所示。

http://www.my_category.my_site.com/subcategory/article_123.html

我需要找到一种方法(使用301's)重定向到

http://www.my_site.com/articles/my_category/sub_category/article-123

我已经查看了nginx重定向(由于您无法修改路径,因此无法正常工作 - 将下划线更改为破折号)

Rails路由似乎不适用于2个子域(www.mycategory)

Rack Rewrite也不会安静(它只会重定向到同一个子域)。

关于最佳方法的任何想法?我不排除上述内容,但想看看人们的想法?

1 个答案:

答案 0 :(得分:2)

使用nginx就像ABC一样简单:

server {
    listen 80;
    server_name ~^www\.(?<category>my_category)\.my_site\.com$;
    return 301 http://www.my_site.com/articles/$category$request_uri;
}