url-rewrite-module 相关问题

Microsoft的URL重写模块是IIS 7的一个模块,它允许网站所有者为其网站创建自定义重写规则。

IIS 重写模块意外返回不同的值

出现此情况的网站设置如下。 wwwroot | +--测试项目 |--web.config +--公共 | | | |--index.php | +--资产 ...

回答 1 投票 0

web.config - 重写规则以更改标头值不起作用

我想通过 IIS 中的重写模块来更改 content-security-policy 标头。 以下是客户标头中的默认 CSP: 我想通过 IIS 中的重写模块来更改 content-security-policy 标头。 这是客户标头中的默认 CSP: <httpProtocol> <customHeaders> <add name="Content-Security-Policy" value="default-src 'none';script-src 'self';style-src 'self' ;img-src 'self' data:;font-src 'self';frame-src 'self';frame-ancestors 'self';connect-src 'self';object-src 'none';upgrade-insecure-requests;" /> </customHeaders> </httpProtocol> 这是重写标签中Content-Security-Policy的重写值: <rewrite> <outboundRules> <rule name="Replace RESPONSE_Content_Security_Policy" patternSyntax="Wildcard" stopProcessing="true"> <match serverVariable="RESPONSE_Content-Security-Policy" pattern="*" /> <action type="Rewrite" value="default-src 'none';" /> </rule> </outboundRules> </rewrite> 我使用通配符作为模式,正如你所看到的,如果我设置pattern="*"(适用于所有人),它就像一个魅力! (将 Content-Security-Policy 标题替换为值 "default-src 'none';")。 但是当改为:pattern="\*viewfile\*",意思是只申请admin/invoice/viewfile?viewid=e9KwbLgmXSkyWhyOll这样的链接,就不行了!它始终使用定义的 customerHeader 值。 似乎只能使用*模式? 我尝试使用正则表达式作为模式,但这不起作用。 那么,我哪里做错了? 以下设置适合我。 <?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" /> <httpProtocol> <customHeaders> </customHeaders> </httpProtocol> <rewrite> <rules> <rule name="Modify CSP for Viewfile" stopProcessing="true"> <match url=".*viewfile.*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="None" /> <serverVariables> <set name="RESPONSE_Content-Security-Policy" value="default-src 'none';" /> </serverVariables> </rule> </rules> </rewrite> </system.webServer> </location> </configuration>

回答 1 投票 0

使用 URL 重写重写对 IIS 10 根目录中网页的所有请求

我有一个 Web 服务器,用于显示位于 IIS 默认网站中的维护页面,该页面从指向 IP 地址的任何 URL 加载根目录中的网页。 有...

回答 1 投票 0

URL 重写在 Azure WebApp (Windows) 中无法按预期工作

我正在尝试使用 URL 重写来重写 Azure WebApp (Windows) 中的 HTTP_HOST 和 REQUEST URL。 WebApp 前面有一个应用程序网关,它重写请求的 FQDN。 我想要什么...

回答 1 投票 0

如何在 nginx 中使用 .htaccess 以及将其放在哪里?

我是 nginx 新手,我不知道如何在 nginx 中使用 .htaccess 以及将生成的代码放在 nginx 配置中的何处。有人可以帮我将其转换为 nginx 吗? 这是我的 .htac...

回答 1 投票 0

IIS重写规则重写静态页面而不改变url

我有一个应用程序 https://customer.com/ax/xyz,当点击此 url 时,它应该指向静态页面而不更改 url。 问题是当我点击网址 https://customer.com/ax/xyz 时,它

回答 1 投票 0

IIS10 URL Rewrite 2.1 双重编码问题

我有一个带有 ARR 3.0 和 URL 重写模块 2.1 的 IIS10 服务器,它充当其他几个 Web 服务器的反向代理。其他服务器运行在不同的端口上,因此 IIS10 服务器提供 'fr...

回答 3 投票 0

IIS 用 Angular 应用程序和应用程序进行重写

这是场景。 我有一个 Angular 应用程序和一个托管在 IIS 上的 .net 8 Web API。 .net wep api 作为应用程序添加到站点,并以“dotnet”作为别名 我需要domain.com/dotne...

回答 1 投票 0

使用 web.config 停止目录中的热链接

我的网站上有一个文件夹用于缓存大型 Flash 电影,我想阻止其他人将它们嵌入到他们的网站中;我想尝试仅使用 web.config 文件来执行此操作。怎么可能...

回答 2 投票 0

在 IIS 中使用 URL 重写重定向网站

使用 IIS 中的 URL 重写重定向网站。例如。将 https://www.contoso.com 重定向到 https://www.testpage.com

回答 1 投票 0

在 IIS 上一起发布 Angular 和 ASP.NET Core Web API 项目

我有两个项目需要在同一个 IIS 站点上一起发布。 其中一个项目是 Angular 应用程序,另一个项目是 ASP.NET Core Web API。 由于各种原因,Web API

回答 1 投票 0

IIS 请求中出现异常查询字符串

我的网络服务器最近遇到了一些性能问题,加载时间不规律,我已经转到 IIS 页面请求监视器和命令行 appcmd list request 。 对这些还不熟悉...

回答 1 投票 0

将 API 的 url 路径重写为子域

我正在使用 Azure 流量管理器,但我的 API 位于主 simian A 记录上。 但是我需要一个来利用Azure流量管理器。 我的问题是我可以从当前执行 GET 和 POST ...

回答 2 投票 0

Coldbox 应用程序在启动服务器时在根目录中运行良好,但在目标服务器上的子目录中运行良好

我觉得我错过了一些非常基本的东西。 我有一个应用程序,即示例 MyPlayground 应用程序,我一直在遵循本教程。 当我站立时,应用程序可以正常工作

回答 1 投票 0

IIS:是否可以使用 IIS 工具(即 URL 重写模块)修改收到的每个请求的文件内容?

我有一个 Angular 应用程序 + NET 8 API 一起托管在 IIS 站点中。 我正在尝试使用“nonce”(仅使用一次的数字)来实施内容安全策略。这意味着对于发送的每个响应...

回答 1 投票 0

正则表达式负前瞻为真,然后忽略正则表达式的其余部分

我正在使用以下 IIS 重写规则来阻止尽可能多的机器人。 我正在使用以下 IIS 重写规则来阻止尽可能多的机器人。 <rule name="BotBlock" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_USER_AGENT}" pattern="^$|\b(?!.*googlebot.*\b)\w*(?:bot|crawl|spider)\w*" /> </conditions> <action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> </rule> 目标是阻止所有带有部件机器人、爬虫或蜘蛛的用户代理,但允许 Google 机器人。这在一定程度上有效。但问题是,即使在字符串中找到“googlebot”,正则表达式的第二部分也会被触发。 下面一些例子的含义: Googlebot/2.1 (+http://www.google.com) 工作正常,googlebot 中的“bot”部分被忽略并且请求被允许。 Googlebot/2.1 (+http://www.google.com/bot.html) 不起作用,仍然在字符串中的第二个“机器人”上触发,并且请求被阻止 KHTML, like Gecko; compatible; bingbot 工作正常,在 bingbot 中的机器人上触发并且请求被阻止 那么有人可以帮我更改 rexeg 以便允许带有 Googlebot/2.1 (+http://www.google.com/bot.html) 的字符串吗? 我不熟悉 IIS 的确切正则表达式风格,但是如果您可以启用不区分大小写的正则表达式,则此 应该 可以工作: ^(?!.*googlebot)(?=.*(?:bot|crawl|spider)).* 说明: ^ - 起始线锚点 (?!.*googlebot) - 在我之前,“googlebot”这个词不存在 (?=.*(?:bot|crawl|spider)) - 在我面前,存在“机器人”、“爬行”或“蜘蛛”这个词 .* - 捕获整行(在 IIS 规则的上下文中可能没有必要) 负前瞻和正前瞻的组合会在正则表达式中产生隐式 and 条件;两者都必须为 true 才能使正则表达式注册匹配。 https://regex101.com/r/MFKKyU/1

回答 1 投票 0

IIS 10 向 WordPress 应用发送请求的 URL 重写规则

我在 Windows Server 2019 上运行 IIS 10,上面安装了 WordPress(除其他外),并安装了 URL 重写 2.1。 IIS 已为 Wordpress 应用程序正确配置,该应用程序正在...

回答 1 投票 0

如何为搜索页面添加 htaccess 规则,以便它可以在有或没有查询参数的情况下工作

我是否可以为搜索页面添加 htaccess 规则,以便它可以在有或没有查询参数的情况下工作。我将添加下面的示例 实际文件是 www.mysite.com/search.php 2 里以下...

回答 1 投票 0

IIS 重写模块排除机器人但允许 GoogleBot

我正在使用以下 IIS 重写规则来阻止尽可能多的机器人。 我正在使用以下 IIS 重写规则来阻止尽可能多的机器人。 <rule name="BotBlock" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_USER_AGENT}" pattern="^$|bot|crawl|spider" /> </conditions> <action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> </rule> 此规则将阻止所有带有空用户代理字符串或包含 bot、crawl 和 spider 的用户代理字符串的请求。这很好用,但它也会阻止 googlebot,这是我不想要的。 那么我如何从上述模式中排除 googlebot 字符串,以便它确实到达网站。 我已经尝试过了 ^$|!googlebot|bot|crawl|spider ^$|(?!googlebot)|bot|crawl|spider ^(?!googlebot)$|bot|crawl|spider ^$|(!googlebot)|bot|crawl|spider 但是他们要么阻止所有用户代理,要么仍然不允许 googlebot。谁有解决方案并且了解一些正则表达式? 尝试这个正则表达式^$|(?!.*googlebot)(bot|crawl|spider)

回答 1 投票 0

使用 Kestrel 的 .net core 的 UrlRewrite 模块

我们正在将应用程序从 .net Framework 4.6 迁移到在 Kestrel 上运行的 .net core 6。在旧应用程序(在 IIS7 上运行)中,我们可以在 IIS 上安装 urlRewrite 模块并编写各种

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.