我如何从webroot外部加载codeigniter字体真棒字体面部网址?

时间:2015-02-09 21:41:00

标签: codeigniter font-face font-awesome codeigniter-url codeigniter-routing

我刚开始使用codeigniter并设置它,因此它不需要index.php作为URL的一部分。

但是,我注意到对font-awesome的引用无法正常工作。 以下是正常加载。

  <link href="assets/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css" />

但是,找不到字体.eot,woff等...并导致图标显示为404.

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.2.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

我的配置:

$config['base_url'] = '';

我的.htaccess:

RewriteEngine on
RewriteCond $1 !^(index\.php|css|woff|eot|ttf|svg|css|js|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

感谢任何帮助。

编辑 我拥有的文件夹结构是:

codeigniter/
-->application/
-->assets/
---->plugins
---->plugins/font-awesome
---->plugins/font-awesome/css
---->plugins/font-awesome/fonts
-->system/
-->.htaccess
-->index.php

3 个答案:

答案 0 :(得分:2)

将您的BaseUrl设置为config.php文件中的站点URL 像这样

$config['base_url'] = 'http://localhost/ci';

将此代码添加到config.php文件

$root=(isset($_SERVER['HTTPS']) ? "https://" : "http://").$_SERVER['HTTP_HOST'];
$root.= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
$config['base_url'] = $root;

这适用于我100%;)

reference here

答案 1 :(得分:0)

您是否将fonts-awesome.css放置在同一目录中?您必须确保文件夹(字体)和文件font-awesome.css位于同一文件夹/目录中。< / p>

根据您的问题,确保fonts文件夹位于css文件夹

答案 2 :(得分:0)

我有像你这样的文件夹结构,但我在css路径中添加了网站基本网址

 <link href="<?php echo base_url('assets/plugins/font-awesome/css/font-awesome.css') ?>" rel="stylesheet">

我希望这适合你。