我正在使用Magento重建/重新设计目前正在生产的Rails中的网站。为了确保我不降低我的搜索引擎优化排名,我保持我的URI相同。我正面临一个优化问题,因为当前站点没有子目录。话虽如此,产品位于网站的根目录下,评论位于网站的根目录下,所有其他内容页面位于网站的根目录下。 例如,产品可能在
www.example.com/some-product-name
可以在
进行审核www.example.com/some-review-name
rails显然使用路由,我的第一个猜测是制作一个如下所示的路线:
get '/:uri_identifier', to: 'pages#find_page'
这很好用,但是有50k产品可以查询和5k评论以及另外200个不同的内容页面,这会产生一个优化问题,因为这个控制器方法变成了一个捕获所有基于它应该呈现的页面
params[:uri_identifier]
uri没有任何形式,因此使用if语句过滤它们以避免大量查询并不可行。我的想法是创建特定于评论的路线,并将它们添加到路线上方的routes.erb
get '/:uri_identifier', to: 'pages#find_page'
但是我仍然需要创建接近5k的路线来解决这个问题。我确实试过这个并且它有效,但我不确定什么是解决这个问题的最佳方法,以确保我使用最少量的资源。
答案 0 :(得分:0)
有几种模式可以解决rails中的这类问题。其中一个是slug约束。使用这些资源可以帮助我们使用slugs和重构大型rails路径的概念