2015-10-08 6 views
4

У меня есть необходимость удалить папку приложения из URL. Пример URL является: mydomain.com/cake_app/vechicles/add Что мне нужно иметь вместо этого mydomain.com/vechicles/addПеремещение пути cakephp в cakephp 3.0

ВНИМАНИЕ! В корне mydomain.com у меня установлена ​​установка WordPress, поэтому мне нужно только направить пользователей на приложение для торта, если в URL-адресе есть имя контроллера vechicles.

Я нашел много примеров, как это сделать через файлы .htaccess, но они были для CakePHP < 3.0 и, похоже, не работают с текущей версией.

Любая помощь или руководство по ее достижению очень выгодно.

+0

просто переместить содержимое cake_app одной папки вверх. «Много примеров», которые вы уже нашли, все еще применяются. Также обратите внимание, что этот вопрос, вероятно, означает, что вы используете установку стиля разработки - [вы не должны этого делать] (http://book.cakephp.org/3.0/en/installation.html#production). – AD7six

+0

Причина, по которой я не хочу переместить ее в одну папку, заключается в том, что у меня есть wordpress install в корне. Спасибо за установку. – Domas

+1

Это довольно значительная деталь, чтобы опустить - пожалуйста, отредактируйте вопрос и укажите, какие URL-адреса должны быть переписаны, а какие нет. В отсутствие информации прямо сейчас у вас есть логический конфликт. – AD7six

ответ

4

Добавить .htaccess в корневой папке домена:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ cake_app/ [L] 
    RewriteRule (.*) cake_app/$1 [L] 
</IfModule> 

UPDATE

ВНИМАНИЕ! В корне mydomain.com у меня установлена ​​установка WordPress, поэтому мне нужно только направить пользователей на приложение для торта, если в URL-адресе есть имя контроллера vechicles.

Добавить это правило в .htaccess перед любым из правил Wordpress.

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^vechicles$ cake_app/ [L] 
    RewriteRule ^vechicles/(.*) cake_app/$1 [L] 
</IfModule> 

Теперь mydomain.com/vechicles/ покажет ваш cake_app. Внутри торт приложение сделать маршрутизацию

CakePHP 2

Router::connect('/add', array('controller' => 'vechicles', 'action' => 'add'));

CakePHP 3

$routes->connect('/add', ['controller' => 'vechicles', 'action' => 'add']); 
+0

Это работает, но если я перейду в корень домена, где у меня установлен WordPress, он приносит мне прямое приложение для торта, где мне нужен WordPress. – Domas

+0

Вы меняете свой вопрос. – Salines

+0

Да, я только что обновил его. Извините, что не предоставлял его с самого начала. – Domas