我正在将我的网站从PHP更新为Ruby on Rails。如何从旧页面重定向?
示例:
旧网页:/index.php?p=v&tag=__some_word__
新页面:/tags/__some_word__
答案 0 :(得分:1)
起初@mudasobwa是正确的,将这种重写移动到代理服务器是很常见的。
但是我几年前遇到了同样的情况,我无法访问nginx配置。我的解决方案是创建另一个控制器来处理旧的PHP请求:
get "/index.php", :to => 'php_path_handler#index'
# params: {"p"=>"v", "tag"=>"__some_word__", "controller"=>"php_path_handler", "action"=>"index"}
在动作中,我决定了如何根据不同的参数及其值来处理请求。在某些情况下,我刚刚返回404或410错误。对于其他情况,我重定向到状态为301的另一个控制器操作,以指示现在有新路由。
另一个想法:对于其他维护者/程序员来说,如果将它移动到nginx或其他东西,很难看到如何处理/重写旧的PHP路由。你可以说,你会将一些应用程序逻辑移动到代理服务器。这在开发和测试环境中很难测试。