Ruby on rails 使现有WordPress博客成为Rails应用程序的子目录?
我在Heroku上有一个Rails应用程序,在GoDaddy上有一个单独的WordPress博客。如何将RailsApp.com/blog路由到WordPress,同时将其作为应用程序的子目录进行维护?Rails配置 添加到文件:Ruby on rails 使现有WordPress博客成为Rails应用程序的子目录?,ruby-on-rails,wordpress,ruby-on-rails-3,Ruby On Rails,Wordpress,Ruby On Rails 3,我在Heroku上有一个Rails应用程序,在GoDaddy上有一个单独的WordPress博客。如何将RailsApp.com/blog路由到WordPress,同时将其作为应用程序的子目录进行维护?Rails配置 添加到文件: gem "rack-reverse-proxy", :require => "rack/reverse_proxy" 现在我们希望从Rails应用程序将/blog和/blog/定向到Wordpress实例 在运行应用程序之前,将其添加到config.ru: u
gem "rack-reverse-proxy", :require => "rack/reverse_proxy"
现在我们希望从Rails应用程序将/blog和/blog/定向到Wordpress实例
在运行应用程序之前,将其添加到config.ru:
use Rack::ReverseProxy do
reverse_proxy(/^\/blog(\/.*)$/,
'http://CHANGEME.herokuapp.com$1',
opts = {:preserve_host => true})
end
在config/routes.rb中添加路由:
match "/blog" => redirect("/blog/")
对于Rails3.1+(+Rails4),应遵循以下步骤:
首先,将gem机架代理添加到Gemfile
gem“机架代理”
然后将proxy.rb文件添加到Rails.root/lib中,如下所示:
需要“机架/代理”
类代理
将中间件代理注册到config/application.rb中:
需要文件。展开路径('../boot',文件)
需要“rails/all”
#需要Gemfile中列出的宝石,包括任何宝石
#您仅限于:测试、开发或:生产。
Bundler.require(:default,Rails.env)
成人储蓄模块
类应用程序
将此行添加到php文件wp-config.php中:
define('WP_HOME', 'http://tinle1201.wordpressdomain.com/blog');
我非常了解这篇文章,尽管它适用于基于heroku的WordPress。这是我目前尝试的解决方案的一部分,我可以让博客显示在正确的子目录中,但是当你单击博客上的任何内容时,它会切换到博客的域。为了解决这个问题,我将wordpress上的网址URL改为mywebsite.com/blog,并添加了rewritebase/blog/to.htaccess。这对于开箱即用的wordpress非常有效,因为文章是用扩展名组织的,比如/?p=1,这将转到第一篇文章。我正在尝试使用的经过大量修改的博客有类似blogurl.com/name-of-article的帖子,出于某种原因,当我尝试相同的解决方案时,从主页点击帖子会将我带到网站的根目录,而不是访问帖子,即“rack reverse proxy”不适用于生产系统。最好使用您的Web服务器(如Nginx或Apache)在生产环境中配置代理传递设置。