urlrewrite地址重写之后丢失css和js解决方案
2012-09-20 19:25
281 查看
最近在搞一个商业网站项目,与之前项目的最大不同就是这个项目采用UrlRewrite地址重写,对于商业网站来说,它自有其有利的一面,但对于编程人员带来了最大的麻烦就是一些相对地址失效了。因为那些地址经过UrlRewrite之后都是虚的,对于代码中出现../../filename.js这样相对路径,按照正常的目录查找可能根本找不到对应的css和js文件。对应这个问题,很多博客都说只能用绝对路径写死,但是这个对应网站构建初期的测试很不方便。经过自己的摸索,找出了自认为不错的解决方案。
下面是我的rewrite.xml文件中部分代码,其中添加了如何让js,css和一些图片文件地址重定向至有效路径的rewrite规则。
<!-- js文件定向至指定目录 -->
<rewrite url="^~/JS/([^\.]+).js$" to="~/JS/$1.js" processing="stop"/>
<!-- css文件定向至指定目录 -->
<rewrite url="^~/Style/([^\.]+).css$" to="~/Style/$1.css" processing="stop"/>
<!-- 将各个图像文件定向至指定目录,注意要给每个文件类型写一个规则 -->
<rewrite url="^~/Image/([^\.]+).gif$" to="~/Image/$1.gif" processing="stop"/>
<rewrite url="^~/Image/([^\.]+).jpg$" to="~/Image/$1.jpg" processing="stop"/>
<rewrite url="^~/Image/([^\.]+).ico$" to="~/Image/$1.ico" processing="stop"/>
经过上面规则,将截获所有.js, .css和各类型图像定位至指定目录。这样就解决了地址重写之后找不到对应文件的问题。
PS:本人也是刚接触UrlRewrite,很多东西也不是清楚,文章有什么不是之处还望高手多多指教。
下面是我的rewrite.xml文件中部分代码,其中添加了如何让js,css和一些图片文件地址重定向至有效路径的rewrite规则。
<!-- js文件定向至指定目录 -->
<rewrite url="^~/JS/([^\.]+).js$" to="~/JS/$1.js" processing="stop"/>
<!-- css文件定向至指定目录 -->
<rewrite url="^~/Style/([^\.]+).css$" to="~/Style/$1.css" processing="stop"/>
<!-- 将各个图像文件定向至指定目录,注意要给每个文件类型写一个规则 -->
<rewrite url="^~/Image/([^\.]+).gif$" to="~/Image/$1.gif" processing="stop"/>
<rewrite url="^~/Image/([^\.]+).jpg$" to="~/Image/$1.jpg" processing="stop"/>
<rewrite url="^~/Image/([^\.]+).ico$" to="~/Image/$1.ico" processing="stop"/>
经过上面规则,将截获所有.js, .css和各类型图像定位至指定目录。这样就解决了地址重写之后找不到对应文件的问题。
PS:本人也是刚接触UrlRewrite,很多东西也不是清楚,文章有什么不是之处还望高手多多指教。
相关文章推荐
- urlrewrite地址重写之后丢失css和js解决方案
- eclipse上的项目部署之后丢失css,js等配置文件,只有lib文件
- wordpress强制跳转https后,JS/CSS不加载的解决方案
- IIS7.5 伪静态 脚本映射 配置方法,添加伪静态后没有为扩展名“”注册的生成提供程序。CSS JS 样式丢失问题
- js和css重写Confirm提示窗口,支持服务器控件调用。
- UrlRewrite实现地址重写
- js,css,img等浏览器缓存问题解决方案
- JS 浮点数运算丢失精度解决方案
- 大型web网站前端css\js\图片版本管理解决方案
- urlrewrite使用地址重写
- 重写页面基类(判断丢失Session)-保证不丢失VIEWSATE-完美解决方案
- js、css引用地址后加时间戳
- mui仿京东地址 css + js (动态数据)
- [转]基于 aspnet 的自动合并输出js和css的解决方案
- 解决MVC中使用BundleConfig.RegisterBundles引用Css及js文件发布后丢失的问题
- Discuz!NT 的URL地址重写(URLRewrite)
- web.xml中配置访问资源URL<url-pattern>/</url-pattern>时无法访问.html、.jsp、.js、.css等静态资源时的解决方案
- Jquery音频播放插件下载地址(有Html、JS、CSS、音频)
- Lift-web jetty服务器运行时CSS、JS不能被修改解决方案
- js、css、img等浏览器缓存问题的2种解决方案