小编Dan*_*ews的帖子

将 Wordpress 博客路由到 Rails 子文件夹 - 博客链接未更改

我目前有一个 Rails 应用程序,my_app.com以及一个相关的 Wordpress 博客,blog.my_app.com。它们都在 Heroku 上独立运行(即没有 Apache 或 Nginx 脚本)

我正在尝试将博客移动到 Rails 应用程序的子文件夹中,my_app.com/blog而不会丢失任何博客现有的 SEO 'juice'。

我已经实现了机架反向代理 gem,并且博客的主页尽职尽责地出现在http://my_app.com/blog/所需的位置。但是,博客中嵌入的所有链接仍然指向子域,而不是应用程序的博客文件夹。

我如何配置博客的链接而http://my_app.com/blog/post1不是blog.my_app.com/post1??

我的 config.ru 文件:

require ::File.expand_path('../config/environment',  __FILE__)

use Rack::ReverseProxy do 
  reverse_proxy(/^\/blog(\/.*)$/, 'http://my-blog.herokuapp.com$1', opts = {:preserve_host => true})
end

use Rack::Deflater

run MyBlog::Application
Run Code Online (Sandbox Code Playgroud)

在我的 routes.rb 中:

constraints domain: 'blog.my_app.com' do 
  get '(*path)' => 'application#blog'
end

get "/blog" => redirect("/blog/")
Run Code Online (Sandbox Code Playgroud)

在我的 ApplicationController 中:

def blog
  redirect_to "http://my_app.com{request.fullpath.gsub('/blog','')}", :status => :moved_permanently
end
Run Code Online (Sandbox Code Playgroud)

我的 …

ruby wordpress ruby-on-rails heroku

5
推荐指数
1
解决办法
964
查看次数

标签 统计

heroku ×1

ruby ×1

ruby-on-rails ×1

wordpress ×1