我已成功在 config.ru 中使用以下内容设置了 Heroku 应用程序的反向代理
require ::File.expand_path('../config/environment', __FILE__)
use Rack::ReverseProxy do
reverse_proxy /^\/blog(.*)$/, 'http://blog.domain.com$1', opts={:preserve_host => true}
end
run Appname::Application
这允许我的heroku应用程序在domain.com上运行,并且在为wordpress网站提供blog.domain.com时将domain.com/blog显示为URL。到目前为止非常棒。
当访问domain.com/blog 时,wordpress 网站会得到正确的服务,但是当我访问任何更深的页面(例如单个帖子)时,wordpress 会抛出错误。我在表单的 URL 中使用带有日期和标题的永久链接:domian.com/blog/2012/07/a-great-blog-post - Worpress 现在似乎不喜欢这样。当我将链接切换回domain.com/blog/?p=4 表单时,页面已成功提供服务。
它似乎无法正确处理初始domain.com/blog 之后的尾随斜杠。我觉得奇怪的是domain.com/blog/wp-admin(和整个WP管理应用程序)工作没有任何问题。
任何人都可以看到任何明显的问题,为什么带有多个斜杠“/”的页面/帖子可能会导致问题?
提前致谢!
最佳答案
好吧,我找到了一个解决方案,无论出于什么原因,在永久链接的 WP 设置中,除了可以通过 id 检索帖子的表单之外,它不喜欢任何默认选项。 (http://www.domain.com/blog/?p=123)
出于 SEO 目的,我希望帖子标题位于 URL 中。所以我在自定义结构字段中输入: /index.php/%postname%/
似乎 WordPress 需要 index.php 才能正确处理路由。
关于wordpress - 反向代理 heroku 应用程序到 WordPress 博客,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11357429/