问题是我想从wifi网络上的其他设备访问我的codeigniter应用程序,我注意到所有css中断;所以我将我的base_url编辑为
的config.php
$config['base_url']= "http://".gethostbyname($_SERVER['SERVER_NAME'])."/ehit";
和我的.htaccess是
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|img|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
现在,当我从其他设备(如
)打开我的应用时,所有内容都正确加载 http://192.168.1.61/ehit
除了fontsAwsome。
html来源
<!-- Core CSS -->
<link rel="stylesheet" type="text/css" href="http://127.0.0.1/ehit/assets/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="http://127.0.0.1/ehit/assets/css/googlefont.css">
<link rel="stylesheet" type="text/css" href="http://127.0.0.1/ehit/assets/css/font-awesome.css">
未定义fontfamily正确加载的所有内容。在font-awesome.css里面我找到了
@font-face {
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot');
src: url('../fonts/fontawesome-webfont.eot') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff') format('woff'), url('../fonts/fontawesome-webfont.ttf') format('truetype'), url('../fonts/fontawesome-webfont.svg') format('svg');
font-weight: normal;
font-style: normal;
}
可能url('..
是问题所在;有没有办法解决它?
我调试并发现url是正确的仍然是font-family FontAwesome不存在
curl 'http://127.0.0.1/ehit/assets/fonts/fontawesome-webfont.woff' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.5' -H 'Cache-Control: max-age=0' -H 'Connection: keep-alive' -H 'Host: 127.0.0.1' -H 'Origin: http://localhost' -H 'Referer: http://127.0.0.1/ehit/assets/css/font-awesome.css' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0'
那么问题出在哪里?
修改
当我将$config
更改为
//$config['base_url']= "http://".gethostbyname($_SERVER['SERVER_NAME'])."/ehit"; //old
$root=(isset($_SERVER['HTTPS']) ? "https://" : "http://").$_SERVER['HTTP_HOST'];
$root.= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
$config['base_url'] = $root;
那是什么问题?
答案 0 :(得分:0)
您需要在.htaccess中允许.woff文件:
RewriteCond $1 !^(index\.php|assets|woff|eot|img|css|js|robots\.txt|favicon\.ico)
这可能是一个可能的原因。
答案 1 :(得分:0)
to application / config / config.php将localhost更改为您的IP地址
访问您的IP地址上的所有网站
例:
$ config [&#39; base_url&#39;] =&#39; http://192.168.xx.xx/codeigniter-project/&#39;;
PC 192.168.xx.xx/codeigniter-project<br>
Mobile 192.168.xx.xx/codeigniter-project<br>
tablet 192.168.xx.xx/codeigniter-project<br>
祝你好运。