Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的 Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 在运行时对Web.config文件的修改不需要重启服务就可以生效(注:<processModel> 节例外)。当然Web.config文件是可以扩展的。你可以自定义新配置参数并编写配置节处理程序以对它们进行处理
原理略有不同,可能会导致同一种配置,在httpd.conf里可以正常工作,但是在.htaccess里就可能会失败。
具体来说,.htaccess由于是可能有多个文件对应多级目录的,所以他的规则生效后,需要把rewrite之后的url,再重新过一遍所有的httpd.conf和相关.htaccess的rewrite规则。而httpd.conf中的rewrite生效后默认是没有这个过程的(如果需要,给手工添加控制参数N)
建议你测试的时候,把RewriteLog开开,就可以看到更多的debug信息了,对于理解rewrite的工作原理和锁定问题很有帮助。