如何配置iis rewrite模块的url重写规则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何配置iis rewrite模块的url重写规则相关的知识,希望对你有一定的参考价值。

参考技术A 当我们将作业提交到hadoop 的集群上之后,我们会发现一个问题就是无法通过web查看job运行情况,比如启动了多少个map任务,启动多少个reduce任务啊,分配多少个conbiner等等。这些信息都是作业在运行是可以查看的。而我的想要的就是能够通过远程的web可以查看到作业job的运行情况,以及它的详细信息。下面介绍一下查看的方式:
  1、当你提交作业时,我们首先通过命令行的方式提交作业后,我们可以打开Yarn的web界面,如下图所示:

在这个页面上可以看到作业的提交情况,若你提交作业之后会出现如下图所示:(请注意红色的矩形区域部分的变化)

当ApplicationMaster启动起来后就会看到如下图所示:此时可以点击ApplicationMaster进入查看作业job在运行的详细状态。

当作业运行完之后,我们可以看到上面第一幅图的样子。此时会显示History的状态,表示改作业已经运行完毕,如果想查看作业历史运行信息就可以点击History查看。若未启动historyserver的话,是无法查看作业job的历史记录的。因此需要启动作业的historyserver。启动的方法是通过执行命令:mr-jobhistory-daemon.sh start historyserver。也可以通过mapred historyserver的方式来启动。
在这之前必须要在mapred-site.xml中配置相应的参数:
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>$yarn.app.mapreduce.am.staging-dir/history/done</value>
</property>

<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>$yarn.app.mapreduce.am.staging-dir
/history/done_intermediate</value>
</property>

<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/tmp/hadoop-yarn/staging</value>
</property>

我怎么知道安装了哪个版本的 IIS7 URL Rewrite 模块

【中文标题】我怎么知道安装了哪个版本的 IIS7 URL Rewrite 模块【英文标题】:how do I know what version of IIS7 URL Rewrite module is installed 【发布时间】:2012-08-02 12:32:18 【问题描述】:

我在 IIS7 中创建了一个重写规则,该规则使用条件元素中的 trackAllCaptures="false" 属性并使用 outboundRules。在我的测试系统上一切正常,但是当我将这些规则部署到 GoDaddy 时出现错误:

Unrecognized attribute 'trackAllCaptures' 

如果我包含 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

【问题讨论】:

我在 2010 年 6 月 30 日安装了 2.0 版本,它位于 %SystemRoot%\system32\inetsrv\rewrite.dll 中,文件/产品版本字符串为 7.1.871.0,所以也许检查一下你的 rewrite.dll 的版本? 您知道您是在完全信任还是部分信任环境中运行? 我在中等信任环境中运行。 trackAllCaptures 或 outboundRules 是否需要完全信任? 不,我有一个关于加载 shell32 以检查 rewrite.dll 文件上的文件版本/产品版本属性的想法。但是,如果您处于中等信任环境中,那么它可能无法正常工作。 我刚刚和他们通了电话,因为他们声称支持 2.0,但他们正在调查使用该属性时出现错误的原因。也就是说,自从您回答了我的问题后,我将把它标记为已关闭。感谢您的帮助。 【参考方案1】:

当然,@Kev Answer 帮助我识别了版本,但似乎还有其他选择。我只是检查控制面板>已安装的程序。在那里我找到了版本安装。如果已安装,则检查版本并与@Kev 答案进行比较以了解它是版本 1 还是 2

【讨论】:

【参考方案2】:

Url Rewrite 的二进制文件位于:

%SystemRoot%\system32\inetsrv\rewrite.dll

Url Rewrite 1.1 的文件版本为 7.1.490.43。 Url Rewrite 2.0 的文件版本为 7.1.761.07.1.871.0(可能还有其他版本,但这是我所知道的两个不同版本)。

如果您没有控制台访问权限来验证版本号,请尝试在一个简单的网页中运行以下代码:

Assembly a = Assembly.Load("Microsoft.Web.Iis.Rewrite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");
Response.Write(a.FullName);

如果安装了 UrlRewrite 2.0,您将看到类似以下内容:

Microsoft.Web.Iis.Rewrite,版本=1.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35

如果不是,那么您将抛出异常:

无法加载文件或程序集“Microsoft.Web.Iis.Rewrite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或其依赖项之一。系统找不到指定的文件。

您也可以将它们指向此文档页面:

Tracking Capture Groups Across Conditions

这一段非常清楚trackAllCaptures 是 2.0 的特定设置,如果它不起作用,那么肯定没有安装 2.0:

在 URL 重写模块 2.0 中,可以更改捕获组的索引方式。在&lt;conditions&gt; 集合上启用trackAllCaptures 设置可以使捕获组形成所有匹配的条件,以便通过反向引用获得。

【讨论】:

当我尝试你的代码示例时,它在本地工作,当我将它加载到他们的服务器时失败,因为我确信我们都期望它。我正要和他们一起跳下去,看看我能不能从他们那里得到一个直接的答案。 我也遇到了同样的问题,并一直在联系 Godaddy 支持部门通知他们。今晚,他们创建了一张主要票来调查这个问题。我觉得我已经完成了一些事情,但这还有待观察。 trackAllCaptures 属性无法识别,尽管我认为他们不打算这样做。 你是认真的吗?所有这些都只是为了检查版本?? @simonbor 不要向信使开枪 :)

以上是关于如何配置iis rewrite模块的url重写规则的主要内容,如果未能解决你的问题,请参考以下文章

如何配置thinkphp的伪静态重写

我怎么知道安装了哪个版本的 IIS7 URL Rewrite 模块

IIS配置页面重写(配合插件url-rewrite2去除页面后缀名)

IIS 10.0 无法安装 URL rewrite重写模块 2.0

IIS 10.0 无法安装 URL rewrite重写模块 2.0

IIS URL 重写使用(Microsoft URL Rewrite Module)