为什么这个图片网址重写规则不起作用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么这个图片网址重写规则不起作用?相关的知识,希望对你有一定的参考价值。

我写了一个URL重写来修复图像路径,以移动到图像的新位置,但它不起作用。

<rule name="Artist Images" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{URL}" pattern="^/images/$" />
      </conditions>
      <action type="Rewrite" url="https://myserver.blob.core.windows.net/v2/images/" redirectType="Permanent" />
    </rule>

预期的行为是当对图像的请求(http://myserver.com/images/sample.jpg)进入时使用新的图像位置(https://myserver.blob.core.windows.net/v2/images/sample.jpg)。

它是Azure上托管的.net应用程序。规则在web.config中。 有任何想法吗?

答案

因为你的条件不正确,你要放置符号$,这意味着字符串的结尾,但这是不正确的。

<rule name="Artist Images" stopProcessing="true">
  <match url="^images/(.*)$" />
  <action type="Rewrite" url="https://myserver.blob.core.windows.net/v2/images/{R:1}" />
</rule>
另一答案

这就是最终工作的结果,但Alexey的回答让我们朝着正确的方向前进。

   <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    <add input="{HTTP_URL}" pattern="/images/(.*)" />
    </conditions>
    <action type="Redirect" url="https://artistshare.blob.core.windows.net/images/{C:1}" />
    </rule>

以上是关于为什么这个图片网址重写规则不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

URL 重写在 IIS 7 上不起作用

旧网址的网址重写不起作用

添加代理通行证后,apache重写规则不起作用

Laravel 5.1重写网址不起作用

htaccess 规则在本地主机上不起作用

THINKPHP3.2.3部署到NGINX上,已经按照官方给的重写规则放上去了,但是不起作用