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

问题描述 投票:3回答:3

我一直在寻找解决方案达2个小时,但似乎无济于事……这是我的问题:

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

我将CakePHP放在子目录var / www / cakephp中。我希望能够通过以下网址查看我的CakePHP应用程序:www.geekderek.com/cakephp。

但是,当前此URL仅返回一个Wordpress页面,内容为“找不到内容。”

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

您可以看到,我将此行添加到默认的WP .htaccess文件中:

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

但是,由于某种原因,这似乎不起作用。

任何人都可以告诉我怎么了吗?非常感谢!

wordpress .htaccess cakephp mod-rewrite subdirectory
3个回答
2
投票

我具有类似的设置,我的蛋糕应用程序位于子目录中,我的根目录.htaccess具有以下重写规则:

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

其余所有内容均通过常规cakephp设置处理。

我的/cakephp/app/webroot/.htaccess:

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

希望这也对您有用:)


0
投票

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

RewriteBase /cakephp

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

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

但是再次,我的app目录位于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,以便它知道app和cake的库目录在哪里。


0
投票

这是我的情况,laravel但相同。

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

只需更改

AllowOverride None => AllowOverride All
© www.soinside.com 2019 - 2024. All rights reserved.