8

我已经设法在 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 管理应用程序)工作时没有任何问题。

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

提前致谢!

4

1 回答 1

2

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

出于 SEO 的目的,我希望帖子的标题出现在 URL 中。所以我在自定义结构字段中输入:/index.php/%postname%/

似乎它需要 index.php 来让 wordpress 正确处理路由。

于 2012-07-06T18:09:55.690 回答