【问题标题】:How to convert a apache url rewrite rule to IIS rule?如何将 apache url 重写规则转换为 IIS 规则?
【发布时间】:2014-07-03 16:51:56
【问题描述】:

我的 .htaccess 文件有这样的 url 重写规则。

RewriteEngine on
RewriteRule ^(scripts|css)/(.+)\.(.+)\.(js|css)$ $1/$2.$4 [L]

我需要在我的 IIS 上使用相同的规则。

我使用^(.*)\.[\d]{10}\.(css|js) 作为模式。 我不知道该提什么Rewrite URL

我想把网址/css/structure.1234.css改写成/css/structure.css

谁知道请帮忙?

【问题讨论】:

    标签: regex apache .htaccess iis url-rewriting


    【解决方案1】:

    我阅读了您的另一个 ColdFusion 问题(关于使用正则表达式向文件名添加数值。)

    我们使用下划线和 14 位日期戳。这是我们使用的 IIS 重写规则。您可以根据需要对其进行修改。

    <rule name="CSSJSDatestamp" stopProcessing="true">
        <match url="^(.*)(_[0-9]{14}\.)(css|js)$" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{SCRIPT_NAME}" pattern="/_scripts/" />
        </conditions>
        <action type="Rewrite" url="{R:1}.{R:3}" />
    </rule>
    

    顺便说一句,自从安装 IISpeed(IIS 的 PageSpeed)后,我不再在我的 ColdFusion 驱动器网站上使用此方法。当文件更改时,它会自动缩小、连接和缓存 JS/CSS 文件(无需缓存)。它还可以根据设备支持优化图像(即缩小尺寸、自动转换为 WebP 等)。我也很喜欢它可以将所有 CSS 和 JSS 移动到 HTML 文件的 HEAD,优先考虑 CSS 并延迟加载所有“首屏”图像,而无需添加任何 ColdFusion 代码或使用 jQuery。

    有关 IISpeed/Pagespeed 的更多信息,请查看:

    【讨论】:

      猜你喜欢
      • 2016-01-02
      • 2012-07-12
      • 2020-03-08
      • 2014-01-05
      • 2014-10-29
      • 2011-04-25
      • 1970-01-01
      • 2012-08-22
      • 2014-06-30
      相关资源
      最近更新 更多