Ruby on rails 使用路由或mod_重写转发旧URL是否更好?

Ruby on rails 使用路由或mod_重写转发旧URL是否更好?,ruby-on-rails,.htaccess,mod-rewrite,routes,Ruby On Rails,.htaccess,Mod Rewrite,Routes,我最近在我的Rails应用程序中更改了一些URL,我很好奇是否最好使用routes+Controller+redirect\u转发旧的URL,或者只使用.htaccess和Apache的mod\u重写 我使用的是Apache+Passenger,这样htaccess文件就可以工作了,但我很好奇是否有一个标准用于这类事情 FWIW,URL已从以下位置更改: 对此:我个人会使用mod_rewrite执行重写,因为它应该比加载rails并在那里执行重定向更快 如果您真正关心性能(并且管理自己的Web服

我最近在我的Rails应用程序中更改了一些URL,我很好奇是否最好使用routes+Controller+redirect\u转发旧的URL,或者只使用.htaccess和Apache的mod\u重写

我使用的是Apache+Passenger,这样htaccess文件就可以工作了,但我很好奇是否有一个标准用于这类事情

FWIW,URL已从以下位置更改:


对此:

我个人会使用mod_rewrite执行重写,因为它应该比加载rails并在那里执行重定向更快


如果您真正关心性能(并且管理自己的Web服务器),则可以将重写规则(以及.htaccess中的任何其他规则)构建到httpd.conf文件中,并禁用覆盖(禁用.htaccess文件)。这将在服务所有请求时稍微提高性能。

使用
mod\u rewrite
无疑会提供最佳性能,因为请求甚至不会触碰Rails。但是,如果您发现像我这样工作会有点痛苦,而且维护负担很大,那么还有第三种方法

机架中间件是否设计用于替换
mod\u rewrite
。它允许您使用良好的旧的可读Ruby代码编写重写规则,并且它仍然比使用Rails本身完成任务更快