Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从webroot外部加载codeigniter字体和字体url?_Codeigniter_Font Face_Font Awesome_Codeigniter Url_Codeigniter Routing - Fatal编程技术网

如何从webroot外部加载codeigniter字体和字体url?

如何从webroot外部加载codeigniter字体和字体url?,codeigniter,font-face,font-awesome,codeigniter-url,codeigniter-routing,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" /> 我的配置: $config['base_url'] = ''; 我的.htaccess: Rewri

我刚开始使用codeigniter,并对其进行了设置,这样它就不需要index.php作为URL的一部分

然而,我注意到对font awesome的引用不能正常工作。 以下是加载罚款

  <link href="assets/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css" />
我的配置:

$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

您是否将fonts文件夹放在了fonts-awesome.css所在的同一目录中。。您必须确保文件夹(fonts)和文件font-awesome.css位于同一文件夹/目录中


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

我有一个与您类似的文件夹结构,但我已在css路径中添加了网站基URL:


在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%;)


你好,RobyMi,我已经提供了我的codeigniter文件夹结构。资产在webroot之外。是的,我看到了您的文件夹结构。。您必须将“字体”文件夹移动到您的字体所在的css文件夹中。css文件被保存,这就是font awesome看到字体的方式,除非您将指向fonts文件夹的url更改为其他路径。它确实是基本url。我在这里添加了一些逻辑来使用sandbox vs prod URL,现在运行良好。尝试了第二种选择,效果非常好,谢谢
$config['base_url'] = 'http://localhost/ci';
$root=(isset($_SERVER['HTTPS']) ? "https://" : "http://").$_SERVER['HTTP_HOST'];
$root.= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
$config['base_url'] = $root;