微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – .htaccess RewriteRule还重写我的css,js和图像文件.怎么忽略这些?

我希望当URL中的用户输入 http://example.com/abc/123/jon/实际显示文件 http://example.com/abc.php?id=123&name=jon时,可以通过将这些行添加到htaccess文件中来轻松完成:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^abc/(.*)/(.*)/ abc.PHP?id=$1&name=$2 [L]

但我的abc.PHP文件有一些(css,js)文件

<link href="css/style.css" rel="stylesheet">
<script src="js/jquery-1.10.2.js"></script>

和图像如:img / logo.png

但由于我的.htaccess文件,它在这里搜索style.css:http://example.com/abc/123/jon/css/style.css
而不是http://example.com/css/style.css和类似的js和图像.

我已经在这里尝试了许多类似的答案,但没有一个为我工作.我正在寻找.htaccess解决方案.

你可以用它:
RewriteEngine on
# not rewrite css,js and images
RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$[NC]
RewriteRule ^abc/(.+)/(.+)/ abc.PHP?id=$1&name=$2 [L]

# rewrite css,js and images,from root
RewriteRule ^abc/[^/]+/[^/]+/(.+)$$1  [L]

如果您的最终css(或js)目录不是root用户,则可以在最后$1之前添加路径.现在是:/css/style.css与/abc/xxx/yyy/css/style.css

原文地址:https://www.jb51.cc/php/130274.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐