首页  >  文章  >  后端开发  >  thinkphp引入字体文件时候被当做模块求解决问题

thinkphp引入字体文件时候被当做模块求解决问题

WBOY
WBOY原创
2016-06-20 12:26:362155浏览

这是字体路径http://localhost/zx/Public/css/fonts/字体.ttf

CSS引入字体的时候被当做模块了
出现这样的情况
无法加载模块:Public
错误位置
FILE: D:\www\zx\ThinkPHP\Common\functions.php  LINE: 112

请问下这样话怎么处理


回复讨论(解决方案)

不把public跟模板放在同一目录下不就行了? 

css js ttf 这些的软件肯定要放在根目录下的文件夹  怎么可能放和模板一样的目录下

无法加载模块:Public。这个错误,是你在浏览器访问字体文件的时候,通过http://localhost/zx/Public/css/fonts/字体.ttf这个链接来访问,Public被当成模块,css被当成控制器,fonts被当成方法,字体被当做URL参数导致的。另外:在css文件里引入字体和图片,应该用相对路径来引入。

子目录 zx/Public/css 不存在
所以这个路径被当作指令处理了

目录是在的 css目录下的css文件引入成功了

无法加载模块:Public。这个错误,是你在浏览器访问字体文件的时候,通过http://localhost/zx/Public/css/fonts/字体.ttf这个链接来访问,Public被当成模块,css被当成控制器,fonts被当成方法,字体被当做URL参数导致的。另外:在css文件里引入字体和图片,应该用相对路径来引入。


用的是相对路径

子目录 zx/Public/css 不存在
所以这个路径被当作指令处理了


目录是在的 css目录下的css文件引入成功了

rewriter的问题

rewriter的问题



RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

文件地址不对 文件找不到的情况下 因为开了rewrite 被当成模块了

文件地址不对 文件找不到的情况下 因为开了rewrite 被当成模块了


文件地址没问题呀

你重新规制目录吧,将Public放到根目录,再将字体文件放到Public里, 这样 /Public/fonts/字体.ttf


文件地址不对 文件找不到的情况下 因为开了rewrite 被当成模块了


文件地址没问题呀
把apache的rewrite关了 然后访问http://localhost/zx/Public/css/fonts/字体.ttf 看看是404吗

你重新规制目录吧,将Public放到根目录,再将字体文件放到Public里, 这样 /Public/fonts/字体.ttf


zx是一个项目文件 public就在这个项目文件的根目录下



文件地址不对 文件找不到的情况下 因为开了rewrite 被当成模块了


文件地址没问题呀
把apache的rewrite关了 然后访问http://localhost/zx/Public/css/fonts/字体.ttf 看看是404吗
没成功,你有没有碰过这样的情况

你把目录结构贴出来

问题解决了。经过排查是CSS文件引入错了,css引入的字体是上一层目录,字体在当前目录。CSS用的是框架 所以没去看里面的代码。之前想到是路径的问题 但是试了下没成功 今天又重看了下代码。感谢大家的回答

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn