求利用 URL REWRITE 造成CSS 失效的情况。
hzjyc 2011-06-10 08:47:10 远程的一个网站:WINDOWS 2008 R2 (X64)+IIS 7
根目录下有二个页面,一个是index.asp, 另一个是display.asp, 一个CSS文件:sample.css, 还有一个子目录images, 内有cover.jpg
index.asp文件中,有:<link href="sample.css" rel="stylesheet" type="text/css">
并有调用display.asp显示: <a href="display.asp?id=22">book title</a>
display.asp文件中,有:<a><img src="images/cover.jpg" />book cover</a>
没用url rewrite 设置伪静态前,一切正常。
现采用url rewrite , 把 display.asp?id=22 显示成 display_22.html, 设置rule 如下:
<outboundRules>
<rule name="out_display" stopProcessing="true">
<match filterByTags="A" pattern="display\.asp\?id=([0-9]+)" />
<action type="Rewrite" value="display_{R:1}.html" />
</rule>
</outboundRules>
结果:
1、 布局乱了,明显是 CSS 没起作用;
2、图片显示正常。
查资料,基本介绍说CSS与图片文件会一起失效,因为url 重写 会造成路径错误。
依介绍, 改成:<link href="/sample.css" rel="stylesheet" type="text/css"> 。
结果: 布局:乱, 无效
图片:显示正常。
改成:<link href="www.abc.com/sample.css" rel="stylesheet" type="text/css"> 。
结果: 布局:乱,无效
图片: 正常
---------------------
我还有一个本地的测试环境: WINDOWS 7 (X32) + IIS 7
采用 URL 重写,RULE 一样,结果不论是本地测试还是局域网中测试,所有都正常。
晕掉了,谁能告诉我怎么回事?