【问题标题】:How to run Wordpress Blog on a Sub URI within a Rails App on Heroku如何在 Heroku 上的 Rails 应用程序中的子 URI 上运行 Wordpress 博客
【发布时间】:2013-03-22 07:20:01
【问题描述】:

我有一个需要博客的 Rails 应用程序。我查看了各种 Rails cms 和博客引擎,但没有一个能满足我的需求。我想在子 uri www.example.com/blog 上添加 Wordpress。我的应用程序托管在 Heroku 上。我可以在 heroku 上独立安装 wordpress 作为单独的应用程序,我尝试使用 .htaccess 文件将 wordpress 添加到公共文件夹,如下所示:

RewriteEngine On  
RewriteRule ^([^\.]+[^/])$ http://%{HTTP_HOST}/$1/ [R=301,L]  
RewriteBase /  
RewriteCond RewriteCond %{REQUEST_URI} ^/blog.*$
RewriteCond %{DOCUMENT_ROOT}/-%2 -d  
RewriteRule ^(.*)$ -%2/$1 [QSA,L]  

但无济于事。我不能使用反向代理,因为我希望在 Rails 应用程序和 wordpress 安装之间有 SSO(和共享导航栏等,并且真的不希望 wordpress 和我的应用程序成为 heroku 上的“单独”应用程序)。有没有办法做到这一点

【问题讨论】:

    标签: php ruby-on-rails wordpress heroku rack


    【解决方案1】:

    您能否访问服务器的虚拟主机文件?如果是这样,那么在服务器中添加以下内容可能是您的答案:

    <VirtualHost ...>
      ServerName ...
      DocumentRoot ...
      <Location /blog>
         PassengerEnabled off
         <IfModule mod_rewrite.c>
           RewriteEngine On
           RewriteBase /blog/
           RewriteCond %{REQUEST_FILENAME} !-f
           RewriteCond %{REQUEST_FILENAME} !-d
           RewriteRule . /blog/index.php [L]
         </IfModule>
      </Location>
    </VirtualHost>
    

    不过,我想这也取决于 rails 应用程序的部署方式以及公用文件夹是否在部署时更新。您可能需要对公用文件夹进行符号链接,以便在每次部署站点时都不会更新它。

    我不能说这是否适用于从未使用过他们的服务的 Heroku,但希望它会有所帮助。

    来源:http://ziyedbd.wordpress.com/2012/05/11/deploying-wordpress-blog-inside-ruby-on-rails-application/

    符号链接信息:http://linux.byexamples.com/archives/19/how-to-create-symlink/

    【讨论】:

      【解决方案2】:

      我会看看wordpress-heroku

      就子 URI 而言,当不必要时,您会开始让事情变得更复杂。如果您愿意,您可以运行两个 Heroku 应用程序,但不要使用文件夹路径,而是使用子域,以便您的主应用程序在 www.example.com 上运行,而您的博客在 blog.example.com 上运行。子域的使用在这样的用途中受到极大尊重,并且使事情变得更容易。

      【讨论】:

      • 当我向客户解释这一点时,你听起来和我一模一样。虽然不能真正接受这个作为答案。我希望有人说这是不可能的,并解释原因或提供解决问题的方法。同时,我正在积极向客户推销替代方法。 :) BTW wordpress-heroku 是我首先在 Heroku 上安装 Wordpress 的方式。
      • 最终说服客户使用子域。并没有真正回答最初的问题......但它有效!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-20
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多