1
我注意到,在routes.rb文件中定义路由时,实际上可以访问您以不同方式定义的相同控制器#操作。Rails路由 - 防止通过不同的URL访问相同的控制器#操作?
例如:
map.connect "post/show/:id/:tag_title", :controller => "post", :action => "show", :requirements => {:id => /\d+/}
这意味着你可以去
server.com/post/show/1234/tag_title-whatever
访问后#节目,但你也可以通过将
server.com/post/show?id=1234&tag_title=tag_title-whatever
访问后#秀这是一个简单的例子,但你明白了。这不会造成搜索引擎问题吗?如果我没有错,那么这两个网站可能会被视为被骗网页。
有没有办法来防止这种情况,就像告诉Rails访问定义的路由只有它们被定义的方式?
如果路由是post /:id/show比替代查询字符串方法不起作用。 – klochner