CSS不使用CakePHP,使用MAMP

时间:2011-11-02 08:47:18

标签: css cakephp mamp

我在MacBook Pro上使用MAMP作为本地服务器。 PHP和MySql运行正常。但是,我对CakePHP有一个奇怪的问题 - CSS仅适用于我网站的主页,并且只能通过以下两个路径: 'localhost'和'localhost / index.php'

然后使用'localhost / index.php /'返回裸露的无样式标记,就像网站中的所有其他页面一样。如何削减结束打破CSS?

一些搜索建议这可能是apache中的一个mod重写问题,但是说实话我不是我的深度 - 我不知道如何测试我是否会改变我的转换mod重写。

由于CSS仅适用于2条特定路径,它可能是我的路线问题吗?我只有2个定义 - '/'和'/index.php/' - 它们都是相同的。

任何帮助将不胜感激, 詹姆斯

3 个答案:

答案 0 :(得分:1)

看起来你的MAMP配置(或MAMP中的Apache已禁用mod_rewrite。看起来你必须遵循http://documentation.mamp.info/en/mamp-pro/advanced-functions/edit-configuration-files指令,为apache的httpd.conf编辑模板,搜索mod_rewrite并在配置模板中取消注释这一行

答案 1 :(得分:0)

标记末尾的斜杠很可能会破坏样式表的文件路径。例如,如果您的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" />

答案 2 :(得分:0)

问题很可能是因为tbwcf说您正在尝试使用相对文件路径加载CSS文件,但是您应该始终使用CakePHP's helpers将资源文件添加到布局中:

<?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之类的相对文件路径。除了最简单的情况之外,它将再次打破布局。