日期:2014-05-18  浏览次数:20515 次

关于IIS网址重写的问题 IIS筛选器设置
我想实现以下功能:
 用户可以自定义网址 : http:\\www.haohao.com\MyWeb
 将来网址要定义到: http:\\www.haohao.com\default.aspx

我在IIS中筛选器引用了微软的ISAPI_Rewrite 的dll.
在httpd.ini 中:我写的规则如下:

[ISAPI_Rewrite]

# 3600 = 1 hour
CacheClockRate 3600

RepeatLimit 32

# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP

RewriteRule ^MyWeb /default\.aspx

可就是每次都不成功.一是:可以跳转过去,但是页面的css路径不正确.或者就是找不到页面.
请各位大侠帮忙.

------解决方案--------------------
RewriteRule /MyWeb /default\.aspx [N,I]
css路径要写绝对的如"~/.................."
------解决方案--------------------
找不到页面是原因大概是因为IIS配置的时候没有取消“检测文件是否存在一个选项”(我的是IIS7的,现在没有办法查看在哪里).引用路径出问题是因为IIS重写了路径导致以前的相对引用产生了错误,这个问题有两个解决方案,对于服务器控件使用~/路径方式,对于HTML控件使用根路径方式(例如/style.css取代style.css).
详细参见Scott的这篇文章里的Handling CSS and Image Reference Correctly。