>  기사  >  백엔드 개발  >  thinkphp引入字体文件时候被当做模块求解决问题

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

WBOY
WBOY원래의
2016-06-20 12:26:362118검색

这是字体路径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으로 문의하세요.