CakePHP HTML-помощник CSS-тег и псевдоним Apache - PullRequest
0 голосов
/ 01 декабря 2010

Как относительный новичок в CakePHP, я надеюсь получить несколько советов о «правильном» способе настройки Apache и CakePHP для поиска включенных файлов (CSS, JavaScript и т. Д.).

Если для моего сервера DocumentRoot установлено значение /var/www, а я устанавливаю и настраиваю CakePHP в /var/www/somepath/cakeapp, я могу получить доступ к приложению, как и ожидалось, по URL-адресу http://example.com/somepath/cakeapp.

Однако, если я использую помощник HTML для создания тега ссылки CSS в моем макете по умолчанию, я начинаю сталкиваться с проблемами. Например, код

echo $html->css('styles');

производит этот тег:

<link rel="stylesheet" type="text/css" href="/somepath/cakeapp/css/styles.css" />

Однако CSS на самом деле живет в /somepath/cakeapp/app/webroot/css.

Если бы приложение CakePHP было единственным в моем домене, я мог бы указать DocumentRoot на /var/www/somepath/cakeapp/app/webroot, как предполагает документация, и все было бы (предположительно) хорошо. Однако это не вариант для меня.

Существует ли общепринятый правильный способ настройки Apache и CakePHP, чтобы помощник HTML мог создать правильный тег ссылки?

Редактировать: Я чувствую, что должна быть какая-то комбинация конфигурации CakePHP и псевдонимов Apache, с которой я еще не сталкивался.

Ответы [ 2 ]

1 голос
/ 01 декабря 2010

Попробуйте определить RewriteBase в ваших файлах .htaccess в корневом каталоге Cake, / app и / app / webroot, чтобы они указывали на ваш подкаталог.Установите для них соответствующие пути, / somepath /, / somepath / app / и / somepath / app / webroot /

1 голос
/ 01 декабря 2010

/somepath/cakeapp/css/styles.css на самом деле правильный путь, который должен быть отображен в ссылках.

Причина, по которой он отображается таким образом, заключается в файле .htaccess в вашем приложениикаталог, который перенаправляет (переписывает) запросы в каталог cakeapp / app / webroot.

Теперь причина, по которой эта структура существует, заключается в том, что в вашем приложении обычно есть «открытые» и «непубличные» части,«Непубличные» части содержат код PHP, включая контроллеры, модели, представления, плагины, библиотеку тортов и т. Д. «Публичные» части включают в себя css, сценарии и файлы изображений.

Теперь вы может сделать вашу папку / var / www / html каталогом вашего приложения, чтобы обеспечить ее безопасность.Чтобы полностью настроить приложение по своему вкусу, проверьте файл cakeapp / app / bootstrap.php и измените соответствующие настройки.Вы можете узнать больше об этом здесь .

Короче, не беспокойтесь.Путь, который вы видите, правильный!

...