我如何从 webroot 外部加载 codeigniter font awesome fontface url?
how do i load codeigniter font awesome fontface url from outside of webroot?
我刚开始使用 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 !^(index\.php|css|woff|eot|ttf|svg|css|js|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L,QSA]
感谢任何帮助。
编辑
我的文件夹结构是:
codeigniter/
-->application/
-->assets/
---->plugins
---->plugins/font-awesome
---->plugins/font-awesome/css
---->plugins/font-awesome/fonts
-->system/
-->.htaccess
-->index.php
您是否将 fonts 文件夹放在与 fonts-awesome.css 相同的目录中..您必须确保文件夹 ( fonts ) 和文件 font-awesome.css 在同一个目录中folder/directory ..
根据你的问题,确保字体文件夹在 css 文件夹内
我有一个像你一样的文件夹结构,但我在 css 路径中添加了 站点基础 URL:
<link href="<?php echo base_url('assets/plugins/font-awesome/css/font-awesome.css') ?>" rel="stylesheet">
希望这对你有用。
在 config.php 文件中将您的 BaseUrl 设置为您的站点 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% 有效;)
我刚开始使用 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 !^(index\.php|css|woff|eot|ttf|svg|css|js|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L,QSA]
感谢任何帮助。
编辑 我的文件夹结构是:
codeigniter/
-->application/
-->assets/
---->plugins
---->plugins/font-awesome
---->plugins/font-awesome/css
---->plugins/font-awesome/fonts
-->system/
-->.htaccess
-->index.php
您是否将 fonts 文件夹放在与 fonts-awesome.css 相同的目录中..您必须确保文件夹 ( fonts ) 和文件 font-awesome.css 在同一个目录中folder/directory ..
根据你的问题,确保字体文件夹在 css 文件夹内
我有一个像你一样的文件夹结构,但我在 css 路径中添加了 站点基础 URL:
<link href="<?php echo base_url('assets/plugins/font-awesome/css/font-awesome.css') ?>" rel="stylesheet">
希望这对你有用。
在 config.php 文件中将您的 BaseUrl 设置为您的站点 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% 有效;)