【问题标题】:cakephp2 with wordpress in a subfoldercakephp2 在子文件夹中带有 wordpress
【发布时间】:2014-12-03 23:36:44
【问题描述】:

我目前在一台 apache 服务器上同时使用 wordpress 和 cakephp。 Cakephp 安装在根目录中,而 wordpress 安装在子文件夹 2 中。我可以通过 http://domain.com/blog/ 访问 wordpress,效果很好。我想将它移动到 cakephp 的子文件夹/虚拟目录中。所以网址是http://domain.com/subfolder/blog

子文件夹是 cakephp 虚拟目录,不存在。我试图通过在 cakephp 的主 htaccess 文件中添加一个条件来忽略这一点(见下文)。它似乎不起作用。这是否可以忽略一个虚拟目录并传递给 wordpress。创建一个实际的文件夹会破坏站点,因为 cakephp 将不再能够处理请求。

RewriteCond %{REQUEST_URI} !^/subfolder/blog/(.*)

我能够使用这个: Can I disable rewrite for specific directory?

# ignore application_test for any rewrites
RewriteRule ^subfolder(/|$) - [NC,L]

【问题讨论】:

    标签: php wordpress apache .htaccess cakephp


    【解决方案1】:

    我能够通过 htaccess 路由所有 wordpress 请求并绕过 cakephp。我在 /app/webroot/subfolder2 中安装了 wordpress 并让它正常工作。

    然后,我在应用程序 webroot 规则上方添加了此规则来处理路由。 Htaccess 在 cake 有机会访问它之前拦截了 wordpress 的规则。 subfolder2 不是任何虚拟目录的一部分,而是 webroot 中的实际目录。但是子文件夹是蛋糕中的虚拟目录。

    # route to wordpress instead of cakephp
    RewriteRule ^subfolder/blog(.*)$ /subfolder2/$1 [NC,L]
    
    # route to cakephp
    RewriteRule    ^$ app/webroot/    [L]
    RewriteRule    (.*) app/webroot/$1 [L]  
    

    然后我手动更新了 mysql 中 blog_options 表中的 site_url 和 home 字段,以便它可以路由到新的虚拟目录。它似乎有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-04
      • 1970-01-01
      相关资源
      最近更新 更多