日期:2014-05-17  浏览次数:20426 次

关于url重写的一个奇怪问题
问题描述如下:
使用网上的IisUrlRewriter.dll和IisUrlRewriter.ini这个组件(在此说明,不是微软的那种web.config这样的ASP.NET级别的组件)这个IIS级别的url重写组件,之前访问是没任何问题的,突然有一天不知道什么情况出现了/a/b/这样的目录结构不能访问的问题,但是附带html结尾的却可以重写,比如
RewriteRule ^/+index.html$ /a/b.aspx?t=index,但是
RewriteRule ^/+a/(\w*)/?$ /a/b.aspx?t=$1这样的却都不能访问了(之前是可以的),想请教下各位有没有遇到过这样的情况的,该如何解决呢?希望能帮我解答下。谁能解决可以再加分
urlrewrite url iis

------解决方案--------------------
这种没用过,给你顶起。
------解决方案--------------------
这是伪静态的配置是将aspx伪装成HTML
------解决方案--------------------
很久以前用过的,现在用MVC了,你加上.html试试。你地址栏里面木有.aspx或者.html,浏览器找不到页面的
------解决方案--------------------
/a/b/这个是目录吧,iis默认不是不让这样访问的吗
应该是iis配置的问题,记不清了
------解决方案--------------------
引用:
/a/b/这个是目录吧,iis默认不是不让这样访问的吗
应该是iis配置的问题,记不清了

如果是这个问题的话你把Ini文件去掉,在IIS里面重新添加试试
------解决方案--------------------

是这个吧,没试过
------解决方案--------------------
检查你那个ISAPI是否开启了对*通配符扩展名的映射,
------解决方案--------------------
很久以前我也为这个事情困扰过,最终还是没有找到解决办法。
直接目录访问的话需要在iis做相应的正则映射,需要用到正则配置,这个试过,但是没有成功,最终放弃。
还有一种就是后缀.html这个映射就简单了,在程序中配置一下,iis映射一下就ok了,我是这样做的,可以访问的。

上面是我以前遇到的问题。
现在访问目录可以打开页面我是这么处理的,例如在iis上设置默认页面为:index.aspx
然后我在a文件夹下建立一个b文件夹然后直接/a/b/ 这样同样可以达到你要的效果,只不过有点麻烦。

其实url重新不是很重要,程序没有漏洞是才是最重要的,url只不过隐藏一些信息或易记一点而已,个人见解仅供参考。
------解决方案--------------------
然后我在a文件夹下建立一个b文件夹,在b文件夹下创建一个index.aspx文件,然后直接/a/b/ 这样同样可以达到你要的效果。