在子目录中设置CakePHP; Wordpress安装在根目录中

时间:2012-10-18 04:57:30

标签: wordpress .htaccess cakephp mod-rewrite subdirectory

我一直在寻找2小时的解决方案,但似乎没有任何工作......这是我的问题:

我在根目录中安装了WordPress(var / www)。所以转到http://www.geekderek.com,我会看到我的wordpress网站。

我将CakePHP放在子目录var / www / cakephp中。我想通过访问:www.geekderek.com/cakephp来查看我的CakePHP应用程序。

但是,目前这个网址只返回一个Wordpress页面,上面写着“找不到内容。”

我相信这个问题可以通过在我的根目录中修改.htaccess来解决。所以这是我的.htaccess:http://pastebin.com/sXJTRstB

如您所见,我将此行添加到默认的WP .htaccess文件中:

RewriteRule    ^cakephp(/(.*))?$ cakephp/app/webroot/$1    [QSA,L]

然而,由于某种原因,这似乎不起作用。

有谁能告诉我有什么问题?非常感谢你!

3 个答案:

答案 0 :(得分:2)

我有simmilar设置,我的蛋糕应用程序在子目录中,我的根.htaccess有这个重写规则:

RewriteRule ^cakephp/(.*)$ /cakephp/$1 [L,QSA]

所有其余的都是通过常规的cakephp设置处理的。

my /cakephp/app/webroot/.htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

希望这也适合你:)

答案 1 :(得分:0)

thanat的回答几乎对我有用。我只需要编辑 RewriteBase 来阅读

RewriteBase /cakephp

并确保apache conf允许我的根目录覆盖其先前的选项

<Directory "/my/root/dir">
AllowOverride All
</Directory>

但是我的 app dir位于apache设置的 DocumentRoot 之外。而 cakephp 目录实际上是 webroot 本身。所以我的目标结构如下

/my/root
/my/root/app  #cake's app dir without webroot
/my/root/dir  #apache DocumentRoot (your wordpress is here)
/my/root/dir/cakephp  #cake's webroot

还要确保编辑/my/root/dir/cakephp/index.php,以便知道应用和蛋糕库目录的位置。

答案 2 :(得分:0)

这是我的情况,使用laravel,但它们是相同的。

https://community.bitnami.com/t/laravel-application-in-subdirectory-of-wordpress-website/79535/2

只需更改

AllowOverride None => AllowOverride All