Настройка CakePHP в подкаталоге; Wordpress устанавливается в корневой каталог


Я искал решение в течение 2 часов, но, кажется, ничего не работает... вот моя проблема:

У меня установлен WordPress в корне (var / www). Итак, перейдя к http://www.geekderek.com , я вижу свой сайт wordpress.

Я поместил CakePHP в подкаталог var/www/cakephp. Я хочу, чтобы иметь возможность увидеть мое приложение CakePHP, перейдя к: www.geekderek.com/cakephp.

Однако в настоящее время этот url-адрес просто возвращает страницу Wordpress со словами " контент не найден."

I поверьте, эта проблема может быть решена путем модификации .htaccess в корневой каталог. Так вот мой .htaccess: http://pastebin.com/sXJTRstB

Как вы можете видеть, я добавил эту строку в стандартную WP .htaccess файл:

RewriteRule    ^cakephp(/(.*))?$ cakephp/app/webroot/$1    [QSA,L]
Однако по какой-то причине это не работает.

Может кто-нибудь пожалуйста, скажите мне, что это неправильно?? Большое вам спасибо!

2 3

2 ответа:

У меня настройки аналогичную, что мой торт приложение находится в поддиректории, мой корень .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]

Надеюсь, что это работает и для вас:)

Ответ Таната почти сработал для меня. мне просто нужно было отредактировать RewriteBase , Чтобы прочитать

RewriteBase /cakephp

И убедитесь, что apache conf разрешил моему корневому каталогу переопределить его предыдущие параметры

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

Но опять же, мое приложение dir лежит вне DocumentRoot, установленного apache. и cakephp dir фактически является самим webroot. Итак, моя структура dir выглядит следующим образом

/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, чтобы он знал, где приложение и библиотека торта dirs.