欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-28 09:35:18
...
这是字体路径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用的是框架 所以没去看里面的代码。之前想到是路径的问题 但是试了下没成功 今天又重看了下代码。感谢大家的回答