【发布时间】:2021-12-19 14:58:22
【问题描述】:
目前,当我使用 RewriteRules 重写我的 URL 时,我无法加载一些 css、js 和图像文件。
我.htaccess的内容是:
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymlinks
# Options +SymLinksIfOwnerMatch
RewriteBase /
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ news.php?newstype=$1&newsid=$2&newstitle=$3 [L,QSA,NC,B]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
# RewriteRule ^(css|js|img)/?$ /$1 [L,QSA,R=301]
</IfModule>
这是我网站的结构:
[root]
css
vender
bootstrap.css
plugin
plugin.css
style.css
js
vender
bootstrap.js
plugin
plugin.js
main.js
images
sliders
slider1.jpg
slider2.jpg
1.jpg
2.jgp
index.php
.htaccess
这就是我加载JS 和CSS 文件的方式:
/css/style.css
/css/vender/bootstrap.css
/css/plugin/plugin.css
/js/main.js
/js/vender/bootstrap.js
/js/plugin/plugin.js
它只加载style.css 文件和main.js 文件。谁能告诉我,不加载子文件夹中的其他文件有什么问题?
如果我评论这行RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ news.php?newstype=$1&newsid=$2&newstitle=$3 [L,QSA,NC,B],那么一切都很好。
我还尝试将相对路径更改为绝对路径,并在 <head> </head> 标签之间添加 <base href="/">。但这两种方法都不适合我。
希望有人可以帮助我解决这个问题。
【问题讨论】:
标签: apache .htaccess mod-rewrite url-rewriting friendly-url