我在我的应用中有这样的链接
http://localhost:3000/lv/manufacturer_products?manufacturer=Komptech
http://localhost:3000/en/products?category=Shredders
但我的朋友说这些链接不是SEO友好的,我必须改变它们,
http://localhost:3000/en/manufacturer_products/Komptech
或类似于此
http://localhost:3000/en/products/category/Shredders
但是如何在没有帮助关闭任何宝石的情况下实际更改链接结构?使用路线?
感谢名单
答案 0 :(得分:1)
Ryan Bates有一个关于此的轨道广播,我总是遵循这个,
http://railscasts.com/episodes/314-pretty-urls-with-friendlyid
答案 1 :(得分:1)
请参阅SO {。
上的namespaces和this answer的文档你甚至可以做命名路线。像这样的东西:
resources :products do
resources :manufacturers
end
对于manufacturers
的索引操作,将返回此:
product_manufacturers GET /products/:product_id/manufacturers(.:format) manufacturers#index
然后你可以写一下routes.rb
match '/:id/products/:name',
:to => 'manufacturers#index', :as => :manufacturers
当你打电话时
<%= link_to @manufacturer.name, manufacturers_path({id: @manufacturer.product_id, name: @manufacturer.name}) %>
将呈现http://localhost:3000/x/products/Komptech
答案 2 :(得分:0)
我不能限制我分享这个...一旦我得到了极好的帮助来优化我的网站的搜索引擎优化
查看链接
http://complitech.net/seo-basics-high-benifit-for-ruby-on-rails-developer/
看第3点得到你的答案
3)改进您的网址结构
通常以旧的方式,网址是非结构化的,而不是目录明智的,因此请使您的网址结构化。
示例:
www.herrybaseballcards.com/images/baseball/top-ten-baseballcards.html
所以在路线
match '/:foldername/:products/:name',
:to => 'products#index', :as => :products
所以忽略基于查询的URL结构