gpt4 book ai didi

ruby-on-rails - Heroku 301 重定向

转载 作者:数据小太阳 更新时间:2023-10-29 07:34:46 26 4
gpt4 key购买 nike

如何做到这一点 http://domain.com 301 重定向到 http://www.domain.com ?我习惯使用 .htaccess 来 ModRewrite,但我了解到我不能在 Heroku 上这样做。

.htaccess 示例:

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

我的文件结构:

- /public
--- /style
--- index.html
- config.ru

我只是提供单个页面,我的 config.ru 包含以下内容:

use Rack::Static,
:urls => ["/style"],
:root => "public"

run lambda { |env|
[
200,
{
'Content-Type' => 'text/html',
'Cache-Control' => 'public, max-age=86400'
},
File.open('public/index.html', File::RDONLY)
]
}

最佳答案

使用 rack_rewrite(在你的 Gemfile 中使用 gem 'rack-rewrite')并在你的初始化目录中创建一个 rack_rewrite.rb;

YourAppName::Application.config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do
r301 %r{.*}, 'http://www.yourdomainname.com$&', :if => Proc.new {|rack_env|
rack_env['SERVER_NAME'] != 'www.yourdomainname.com'
}
end if Rails.env == 'production'

这表示,如果请求的服务器名不是 www.yourdomainname.com,则将其重定向到 www.yourdomainname.com

关于ruby-on-rails - Heroku 301 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8802431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com