【问题标题】:Stylesheet not found when link is correct链接正确时未找到样式表
【发布时间】:2015-08-19 10:10:15
【问题描述】:

我正在尝试将我的样式表链接到我网站的 php 模板。我使用了链接: <link rel="stylesheet" type="text/css" href="{{app.request.basepath }}/App/views/templates/style.css">

现在,这适用于我的本地主机服务器(我使用 MAMP),但是当我将文件上传到网络主机时,我收到错误:

Failed to load resource: the server responded with a status of 404 (Not Found)

我的面板似乎只支持 5.5,而我在本地服务器上使用 5.6。也可能是问题。

它还给了我一个链接,这是文件的确切链接,没有拼写错误或大写字母。我试图将样式表链接到的文件与样式表位于同一文件夹中。我也在重写 .htaccess 文件,因为我使用的是 SlimPHP 文件是:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

我认为这可能与无法链接有关,但我不完全确定。提前感谢您的所有帮助

编辑: 我通过将样式表链接到目录中的公共文件来解决我的问题。从那里,我可以使用 CSS 链接任何图像,但我还必须将它们放在公共目录中

【问题讨论】:

  • 您是否尝试在浏览器中查看您的样式?在浏览器行 $my_domain_or_localhost/App/views/templates/style.css

标签: php html css .htaccess slim


【解决方案1】:

这就是我在 Slim 和 Twig 中路由特定于主题的样式表的方式。首先,我创建一个新的配置变量themes.path,其中包含我的主题的实际文件系统路径。然后我为css/theme.css设置路由:

$app->config([
    'themes.path'    =>  "path/to/themes"
]);

/* Render theme CSS */
$app->get('/css/theme.css', function () use ($app) {
    $app->response->headers->set("Content-Type", "text/css");
    $css_include = $app->config('themes.path') . "/myTheme/css/theme.css";
    $app->response->setBody(file_get_contents($css_include));
}    

要在我的模板文档中使用主题样式表,我只需这样做:

<!-- Theme stylesheet -->
<link rel="stylesheet" href="{{site.uri.css}}theme.css" type="text/css" >

site.uri.css 是一个全局模板变量,其中包含我的(公共)css 目录的路径。如果您愿意,您可以对该部分进行硬编码。

【讨论】:

    【解决方案2】:

    最好给我们在线地址。

    但是现在你应该在你的 html 代码中检查转换后的地址。

    您应该在“Firefox”中按 Ctrl+U 或右键单击->查看页面源代码。

    然后搜索/App/views/templates/style.css"&gt;然后检查完​​整地址并更改您的主要代码!

    【讨论】:

      【解决方案3】:

      授予 0777 或 0755 权限以访问 style.css 文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-30
        • 2020-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多