区分大小写的URL - 可以避免这种情况吗?

时间:2012-11-02 21:23:56

标签: url iis expressionengine case-sensitive case-insensitive

首先,我知道这有点像一匹“死马”,但我已经在互联网和SO上找到了一个解决方案而没有找到。不幸的是,这个正确答案可能没有答案。

我在Expressionengine中有一个运行在IIS7上的站点,(不要问),并运行Structure。

内容编辑器存在一个常见问题:创建或更改条目并希望修改URL。当他们这样做时,他们倾向于使案例敏感性变得疯狂,无论是骆驼案例还是只是设计他们自己的修改URL的套管方法。

第1轮

我遇到的第一个问题是营销团队在营销电子邮件等链接中放置了骆驼套装和奇怪的网址。这可以通过捕获和重写.htaccess文件中的URL来解决,例如:

#Make URL's lower case
RewriteEngine On
RewriteMap  lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]

这就解决了第1轮的URL问题。

第2轮

下一期是双重问题。 - > FF到了这一点。

折叠1:他们有内部开发,运行IIS .Net应用程序,这些应用程序采用驼峰式格式。这个改变几乎让他们关闭了一个早晨。 (糟糕!)

折叠2:他们有贡献者在任何驼峰情况下修改网址,或者只是设计他们自己的修改网址的套管方法。

这是我被困的地方。我可以为此提供任何解决方案,还是这种情况下他们需要遵守更严格的标准并让自己更负责任?

感谢信息窥视。

2 个答案:

答案 0 :(得分:0)

ExpressionEngine网址不应区分大小写(至少它们不在我见过的任何EE网站上,包括expressionengine.com)。

您应该首先了解服务器问题的根源,从而导致网址首先区分大小写。这可能是要做的事情

答案 1 :(得分:0)

当我将Windows Server 2008升级到2019时,遇到了类似的情况。

我注意到该网站对图片等资源“区分大小写”。

在旧的web.config中,有一种导致这种情况的配置:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <staticContent>
        <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
    </staticContent>
</system.webServer>

只需注释 mimeMap 标记,然后资源便可以正常工作。

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <staticContent>
        <!--
        <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
        -->
    </staticContent>
</system.webServer>