将代理heroku应用程序反向代理到wordpress博客

时间:2012-07-06 07:06:41

标签: wordpress heroku reverse-proxy

我设法在config.ru

中设置了我的heroku app的反向代理
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。到目前为止很棒。

wordpress网站在访问domain.com/blog时得到了正确的服务,但是当我进入任何更深层的页面时,就像单个帖子wordpress一样会引发错误。我在表格的网址中使用了包含日期和标题的永久链接:domian.com/blog/2012/07/a-great-blog-post - Worpress现在似乎不喜欢这样。当我将链接切换回表单domain.com/blog/?p=4时,页面将成功提供服务。

在inial domain.com/blog正常后,它似乎无法处理和排序斜杠。我觉得奇怪的是domain.com/blog/wp-admin(和整个WP管理应用程序)工作没有任何打嗝。

任何人都可以看到任何明显的问题,为什么带有多个斜杠的页面/帖子'/'可能会导致问题?

提前致谢!

1 个答案:

答案 0 :(得分:2)

我找到了一个解决方案,无论出于什么原因,永久链接的WP设置中,它都不喜欢任何默认选项,除了它可以通过id检索帖子的表单。 (http://www.domain.com/blog/?p=123)

出于搜索引擎优化的目的,我希望帖子的标题位于URL中。所以我进入了自定义结构字段:     /index.php/%postname%/

似乎需要index.php才能使wordpress正确处理路由。