thinkphp 3.2.3 无法引入CSS样式文件

这是个原生的PHP商城,我想用thinkphp 3.2.3版本的改下,在原生的文件中访问index.html可以显示CSS样式,但是框架中没法显示...
求指点... 谢谢

在index.html中引入CSS样式文件,路径:<link href="/shop/Public/css/style.css" rel="stylesheet" type="text/css" />

路径如图所示:
clipboard.png

文件路径如图所示:
clipboard.png

用这个路径:<link href="./Public/css/style.css" rel="stylesheet" type="text/css" />
配上的网址是:localhost/shangcheng/shop/index.php?m=Home&a=Index&c=index可以访问到有CSS样式的页面

clipboard.png

阅读 6.8k
6 个回答
<link href="/Public/css/style.css" rel="stylesheet" type="text/css" />

你这个还有一个TP路径啊,所以你的localhost根目录是什么?

3.2版本的thinkphp使用模板替换__PUBLIC__ 可以规避二级路径等问题。

手册地址:http://document.thinkphp.cn/m...

相对地址是相对入口文件index.php的,去掉/shop就行了。

把shop作为项目文件,本地的话修改一下vhost文件,配置一个本地测试的域名后就不会出现这种情况了。

因为项目上线后都是放在某个域名下的,所以开发的时候建议配置个域名,尽量与线上环境统一。

楼主补充里提到用"./" ,这是相对当前的路径,也只有在首页才能起作用。

因为在html页面中,public是在项目根目录下,用根目录才能在全局中起作用。
用“./public” 在不同的路径下的效果是不一样的。

还有一种方法就是自己把__PUBLIC__指向定义到绝对路径就好了。

'TMPL_PARSE_STRING'  =>array(
     '__PUBLIC__' => '/Common', // 这个地方用绝对路径代替
)

具体文档请看:http://document.thinkphp.cn/m...

新手上路,请多包涵

在你的Home同级目录commen下面的conf目录下的config.php里面定义一个自定义配置文件

"TMPL_PARSE_STRING"=>array(
    "__PUBLIC_ADMIN__"=>"/Public/Admin",

),

然后修改模板中的样式资源地址,改成:/Public/Admin"+css文件目录,

这个明显是路径问题
<link href="/shop/Public/css/style.css" rel="stylesheet" type="text/css" />
这个路径 “/”是以web根目录为开始位置,因为你的shop外面还有一层目录 TP,所以找不到文件,要改成
<link href="/TP/shop/Public/css/style.css" rel="stylesheet" type="text/css" />

<link href="./Public/css/style.css" rel="stylesheet" type="text/css" />
这个路径 “./”是以shop项目的入口文件index.php 为开始位置,所以这个路径没问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题