php – 带有Trailing Slash的mod_rewrite会破坏CSS / IMG / SCRIPTS路径

我正在尝试将mod_rewrite设置为url中的第一个子目录字符串,以便创建类似于’jsfiddle.net已保存的url在类/ db中的功能.该脚本工作正常,并进行重写.

例如网址

http://jsfiddle.net/RyEue/

这工作正常(加载所有CSS,脚本等):

http://www.domain.com/787HHJ2

这就是我过去用过的技巧.

问题是当用最后一个斜杠,脚本,css和其他松散路径结束URL时.

http://www.domain.com/787HHJ2/

重写脚本:

DirectoryIndex index.PHP index.html
Options +FollowSymlinks
RewriteEngine On # Turn on the rewriting engine
#RewriteBase   /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} !.
RewriteRule ^.+/?$index.PHP [QSA,L]

不确定这是否与Rewritebase有关,我尝试了多种方法.

PS.我试过没有运气就把路径设置为绝对路径(例如src =“/ img / theimage.jpg”).

解决方法:

1.确保你有相对于根文件链接的css / images / js等(带有前导斜杠):/ styles / main.css

2.在当前的一个之前添加其中一个ruls:

# do not touch files with .css/.js/.jpg etc extensions
RewriteRule \.(css|js|jpg|png|gif)$- [L]

要么

# do not touch any resources in images/css/js folders
RewriteRule ^(images|css|js)/ - [L]

3.清除浏览器缓存并重新启动(有时浏览器可能会在重写规则修复时显示缓存的页面/资源,这会带来很多混乱).

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...