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

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

У меня установлен WordPress в корне (var / www). Поэтому, зайдя на сайт 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]

Тем не менее, по некоторым причинам это не похоже на работу.

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

2 ответа

Решение

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

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

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

RewriteBase /cakephp

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

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

но опять же, мой каталог приложений находится за пределами DocumentRoot, установленного apache. и Cakephp Dir на самом деле сам корень. так что моя структура 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 так что он знает, где находятся каталоги приложения и библиотеки тортов.

Это мой случай с laravel, но они такие же.

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

Просто нужно изменить

AllowOverride None => AllowOverride All
Другие вопросы по тегам