自己搞了个简单的php 框架,使用 "?var=val1&var2=val2" 形式的url 视图加载都正常,apache下为了美化url, 使用 .htaccess规则 隐藏index.php 并使用pathinfo 格式的url,页面和数据都可以加载,但是 css、js文件路径却变成了 pathinfo 格式的url/public/css/style.css了,导致css、js加载路径出错了。求一个正确的 .htaccess规则,让样式文件正确加载。
目前的出错情况:
项目框架放在 站点根目录下的capframework文件夹下 ,
使用 http://127.0.0.1/capframework/ 访问一切ok,css加载ok,css url 为:http://127.0.0.1/capframework/public/css/captain.css
当使用 http://127.0.0.1/capframework/article/list/tag/php访问时,css、js就出问题,路径变成了http://127.0.0.1/capframework/article/list/tag/public/css/captain.css
当前使用的规则为:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
求高手指点,把问题解决
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
目测不是.ht文件的错误,印象中:当链接对应的文件存在时,是有限返回文件的,当无法通过链接直接访问文件时,才会去匹配相关规则。
初始化文件应该有WEB_ROOT吧 在模板文件中这么写
{WEB_ROOT} / public/css/captain.css应该就OK了吧