在Cakephp旁边安装WordPress

5

我已经在根目录下安装了CakePHP。site.com/

我想在site.com/blog安装WordPress博客。

但是由于CakePHP会重定向所有的URL,我不确定该怎么做?

3个回答

7

来源: http://dogmatic69.com/blog/development/7-using-other-apps-with-cakephp-htaccess-config

在 #cakephp 中经常会被问到如何在CakePHP旁边使用其他应用程序,给出的答案通常相当丑陋。将文件/文件夹放在webroot/下虽然可以解决问题,但不是很好。所以我将向你展示一个小技巧来处理.htaccess文件。

第一种(非常简单的方法)是在子文件夹中使用.htaccess。例如,在启用了Joomla!的.htaccess时,您可以在Cake旁边运行Joomla!的副本而不会遇到任何问题。如果该应用程序没有它和/或您不知道在.htaccess文件中放什么,您还有另一种选择

让Apache停止处理重定向,如果它发现您的子目录请求。这是通过为子目录添加规则,然后告诉Apache它是要处理的最后一个规则来完成的。您要编辑的.htaccess文件位于您的APP目录内。您要添加的内容只有以下一行:

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteRule (some_folder/.*) $1 [L] # adjust the regex to what you want.

    # normal cake rules
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
 </IfModule>

你可以通过更改正则表达式的方式,为尽可能多的子文件夹执行此操作。这很简单,也比将所有内容放在应用程序的webroot/文件夹中要更加清晰。

1
它没有任何问题,而且非常容易。感谢 @Harsha。 - Garry

3

将WordPress安装程序简单地放置在/app/webroot文件夹下的“blog”文件夹中。

Cake将从webroot加载,就好像文件位于非Cake应用程序的普通子文件夹下。您可能需要编辑/调整wp配置或.htaccess文件中的路径,以使一切完美无缺,但并不难。


1
这不是正确的做法。这是IRC上某个人说的话。http://dogmatic69.com/blog/development/7-using-other-apps-with-cakephp-htaccess-config - Harsha M V
它所做的只是使任何指定名称的子文件夹表现得与您将其放置在app / webroot文件夹中相同。我刚在本地测试了它,如果您将WordPress根文件夹内容放在app / webroot / blog文件夹中,则可以立即使用。http://groups.google.com/group/cake-php/browse_thread/thread/a3b4b82eefeb9d8a - Abba Bryant
在你说这不是正确的做法之前,请先尝试一下,显然你还没有尝试过,这也是为什么会在这里问这个问题的原因。为什么不试试呢?你可能会惊喜地发现它可以正常工作。我相信你需要在各个地方更改wp路径,以便加载db文件等。 - Abba Bryant
@abba bryant,没有人说将文件夹放在Webroot中不起作用。正如我在博客中所说的那样,您可以这样做,这是第一段。只是有更好的方法来做事。 - dogmatic69
请解释一下为什么这种方法更好?我不明白通过任意方法都将博客放在 /blog (例如,相同的路径)相比另一种方法有何优势。你认为这样做更好只是因为 webroot 文件夹没有那么凌乱吗?您这种方式的缺点是必须定制应用程序安装的某些部分,否则这些部分会被忽略。此外,我建议将 wp 安装在 webroot 之外,并创建指向 wp 安装的 app/webroot/blog 符号链接。 - Abba Bryant
我明白你说它可以按照我的方式工作,并且你的方式(来自你的帖子)更好。但是你没有解释为什么/如何更好。你在帖子中所做的只是让不同的子文件夹以与Webroot相同的方式工作。这只是为了组织文件吗?符号链接可以立即解决此问题,无需编辑任何内容。 - Abba Bryant

2
一种实现方法是将您的域名指向site.com/cakefolder,然后将另一个子域blog.site.com指向site.com/blog文件夹。
这样对于用户来说,它们总是看起来像是site.com和blog.site.com。

然后也许将它们移动到另一个目录? - Nigel
@Nigel,您会如何建议以这种方式指向域名?这是在我的服务器配置文件中管理的配置参数,对吗? - usumoio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接