blk*_*bam 22 iis-7 url-rewriting
我在IIS7中创建了一个重写规则,它使用conditions元素中的trackAllCaptures ="false"属性并使用outboundRules.一切都在我的测试系统上正常工作但是当我将这些规则部署到GoDaddy时,我得到错误:
Unrecognized attribute 'trackAllCaptures'
Run Code Online (Sandbox Code Playgroud)
如果我包含outboundRules节点,我从服务器得到500错误.我与他们的支持进行了交谈,他们坚持认为他们支持2.0版本的URL Rewrite模块.我的问题是如何验证或与他们沟通如何检查该模块的版本?我无法在尝试安装它如何检查版本的任何地方找到方法.
我正在尝试为ASP.Net应用程序而不是WordPress重写URL,以便从URL中删除子文件夹,这在他们的多域托管中是一个非常普遍的问题.我使用的示例位于:http://weblogs.asp.net/owscott/archive/2010/05/26/url-rewrite-multiple-domains-under-one-site-part-ii.aspx
Kev*_*Kev 32
Url Rewrite的二进制文件位于:
%SystemRoot%\system32\inetsrv\rewrite.dll
Url Rewrite 1.1的文件版本为7.1.490.43.
Url Rewrite 2.0的文件版本为7.1.761.0或7.1.871.0(可能还有其他版本,但这些是我所知道的两个不同版本).
如果您没有控制台访问权限来验证版本号,请尝试在简单的网页中运行以下代码:
Assembly a = Assembly.Load("Microsoft.Web.Iis.Rewrite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");
Response.Write(a.FullName);
Run Code Online (Sandbox Code Playgroud)
如果安装了UrlRewrite 2.0,那么你会看到如下内容:
Microsoft.Web.Iis.Rewrite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
如果不是那么你会得到一个异常抛出:
无法加载文件或程序集'Microsoft.Web.Iis.Rewrite,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.
您也可以在此文档页面上指出它们:
这段很清楚,这trackAllCaptures是一个2.0特定的设置,如果它不工作,那么肯定没有安装2.0:
在URL Rewrite Module 2.0中,可以更改捕获组的索引方式.
trackAllCaptures对<conditions>集合启用设置会使捕获组形成通过反向引用可用的所有匹配条件.
当然@Kev Answer 帮助我识别了版本,但似乎还有其他选择。我只是检查控制面板>已安装的程序。在那里我找到了版本安装。如果已安装,则检查版本并与@Kev答案进行比较以了解它是版本1还是版本2
| 归档时间: |
|
| 查看次数: |
17990 次 |
| 最近记录: |