Настройте 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