Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 站点范围重定向_Ruby On Rails - Fatal编程技术网

Ruby on rails 站点范围重定向

Ruby on rails 站点范围重定向,ruby-on-rails,Ruby On Rails,大约3周前,我创建了一个由Heroku托管的新网站,此后我决定更改其域名。我试图弄清楚如何进行站点范围的重定向,我正在考虑使用类似于我的应用程序控制器(在筛选器之前添加一个): 这显然不适用于所有操作,如果url正在传递其他参数,则会失败。我想知道我是否可以做一些更一般的事情,这样我就不必有一大堆if-else子句了?试试这个 params[:host] = 'http://newdomain.com' redirect_to url_for(params), :status => 301

大约3周前,我创建了一个由Heroku托管的新网站,此后我决定更改其域名。我试图弄清楚如何进行站点范围的重定向,我正在考虑使用类似于我的应用程序控制器(在筛选器之前添加一个):

这显然不适用于所有操作,如果url正在传递其他参数,则会失败。我想知道我是否可以做一些更一般的事情,这样我就不必有一大堆if-else子句了?

试试这个

params[:host] = 'http://newdomain.com'
redirect_to url_for(params), :status => 301

“url_for”取一个散列,通过更改参数中的“host”,它应该与其他参数一起转到新主机。

因为Rails的最新版本现在与机架接口保持一致,并且可以合并,所以可能值得一看。我自己也没用过,但乍一看,这可能是个不错的解决方案。

这看起来干净多了。我想我应该把它放在一个除非声明中,以确保我没有重定向人们,或者更重要的是谷歌机器人,去新域名。。。
params[:host] = 'http://newdomain.com'
redirect_to url_for(params), :status => 301