CSS не работает с CakePHP, используя MAMP - PullRequest
1 голос
/ 02 ноября 2011

Я использую MAMP на своем MacBook Pro в качестве локального сервера.PHP и MySql работают нормально.Однако у меня есть странная проблема с CakePHP - CSS работает только на домашней странице моего сайта и только по двум следующим путям: «localhost» и «localhost / index.php»

Использование «localhost / index.php»/ 'однако возвращает только голую нестандартную разметку, как и все остальные страницы сайта.Как может косая черта в конце сломать CSS?

Несколько поисков предположили, что это может быть проблема переписывания модов в apache, но я не в себе, если честно - я не знаюКак проверить, внесены ли изменения, которые я делаю, включите переписывание модов.

Поскольку CSS работает только для двух конкретных путей, могут ли быть проблемы с моими маршрутами?У меня есть только 2 определения - '/' и '/index.php/' - и они оба одинаковы.

Любая помощь будет принята с благодарностью, Джеймс

Ответы [ 3 ]

1 голос
/ 02 ноября 2011

Похоже, что ваша конфигурация MAMP (или у Apache в MAMP отключен mod_rewrite. Похоже, что вы должны следовать http://documentation.mamp.info/en/mamp-pro/advanced-functions/edit-configuration-files инструкциям, отредактировать шаблон для httpd.conf в apache, выполнить поиск mod_rewrite и раскомментировать эту строку в конфигурациишаблон.

0 голосов
/ 02 ноября 2011

Скорее всего, проблема заключается в том, что tbwcf говорит, что вы пытаетесь загрузить файлы CSS, используя относительные пути к файлам, но вы всегда должны использовать Помощники CakePHP для добавления файлов ресурсов в макет:

<?php echo $this->Html->css('style'); ?>

Выше будет выводить

<link rel="stylesheet" type="text/css" href="/css/style.css" />

Преимущество состоит в том, что если вы устанавливаете приложение в какой-либо другой каталог, путь меняется автоматически:

<link rel="stylesheet" type="text/css" href="/other/directory/css/style.css" />

Не не использовать относительные пути к файлам, такие как ../css. Это снова нарушит компоновку во всех случаях, кроме самых простых.

0 голосов
/ 02 ноября 2011

Косая черта в конце разметки, скорее всего, нарушает путь к файлу вашей таблицы стилей.Например, если на ваш CSS ссылаются как

<link rel="stylesheet" href="css/stylesheet.css" />

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

Таким образом, вы можете добавить

../ before the reference like <link rel="stylesheet" href="../css/stylesheet.css" />

Или, возможно, более простым решением в этом случае будет ссылка на вашу таблицу стилей, например:

 <link rel="stylesheet" href="http://localhost:8888/project/css/stylesheet.css" />
...