加载字体文件CodeIgniter时出错403错误

时间:2013-11-01 13:31:53

标签: php css codeigniter fonts

您好我是codeigniter的新手。我通过css使用我的网站的外部字体文件。这是我的css代码:

@font-face {
font-family: 'ElegantIcons';
src:url('http://localhost/findacare/font/ElegantIcons.eot'),
    url('http://localhost/findacare/font/ElegantIcons.eot?#iefix') format('embedded-opentype'),
    url('http://localhost/findacare/font/ElegantIcons.woff') format('woff'),
    url('http://localhost/findacare/font/ElegantIcons.svg#ElegantIcons') format('svg'),
    url('http://localhost/findacare/font/ElegantIcons.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}

但是当我加载文件时,我收到以下错误文件

GET http://localhost/findacare/font/ElegantIcons.woff 404 (Not Found) manage_profile:1
GET http://localhost/findacare/font/ElegantIcons.svg 404 (Not Found) /findacare/font/ElegantIcons.svg#ElegantIcons:1
GET http://localhost/findacare/font/ElegantIcons.ttf 404 (Not Found) /findacare/font/ElegantIcons.ttf:1

我的文件结构是:

findacare-
          -application
          -css
          -font
          -images

我甚至通过提供绝对路径多次检查。任何人都可以帮助我。

3 个答案:

答案 0 :(得分:2)

如果你查看.htaccess文件,你很可能会有一行代码如下:

RewriteCond $1 !^(index\.php|robots\.txt|css/|js/|images/)

这是一个不会通过您的应用程序index.php传递的文件夹/文件的白名单。所有其他网址都将被传递到应用程序中。

由于您的字体文件夹位于webroot中,因此您需要将此文件夹添加到白名单中,以便css规则可以访问它。

RewriteCond $1 !^(index\.php|robots\.txt|css/|js/|images/|font/)

答案 1 :(得分:0)

你在文件结构文件夹名称中提到的

是“fonts”,在你的css源路径中你使用的是“font”。

答案 2 :(得分:0)

我在我的一个项目中使用过它,如果你在css文件夹中的css文件中有这些行,那么尝试这可能会有所帮助:

@font-face {
    font-family: 'ElegantIcons';
    src:url('../font/ElegantIcons.eot'),
        url('../font/ElegantIcons.eot?#iefix') format('embedded-opentype'),
        url('../font/ElegantIcons.woff') format('woff'),
        url('../font/ElegantIcons.svg#ElegantIcons') format('svg'),
        url('../font/ElegantIcons.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}