cakephp2与wordpress在子文件夹中

时间:2014-12-03 23:36:45

标签: php wordpress apache .htaccess cakephp

我目前正在一台apache服务器上一起使用wordpress和cakephp。 Cakephp安装在root中,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]

1 个答案:

答案 0 :(得分:0)

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

然后我在app webroot规则上面添加了这条规则来处理路由。 Htaccess在蛋糕有机会访问它之前拦截了wordpress的规则。子文件夹2不是任何虚拟目录的一部分,而是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字段,以便它可以路由到新的虚拟目录。它似乎有效。