Имя папки IIS7 - допустим ли символ «+»? - PullRequest
1 голос
/ 12 ноября 2011

Я пытаюсь создать перенаправление Google Plus следующим образом ... www.domain.com/+

Я создал папку с именем "+" с простым файлом default.html внутри.Default.html является документом по умолчанию и содержит простое перенаправление JS.Я получаю 404, как папка и файл не существует.Очень странно!

Символ плюса представляется действительным для имен папок, так что я в замешательстве.Есть идеи?

Спасибо

Ответы [ 2 ]

1 голос
/ 12 ноября 2011

Как насчет хорошего перенаправления 301 в web.config:

<configuration>
    <system.webServer>
        <security>
            <requestFiltering allowDoubleEscaping="true" />
        </security>
    </system.webServer>
    <location path="+">
        <system.webServer>
        <httpRedirect enabled="true" destination="http://plus.google.com/{userprofileid}" httpResponseStatus="Permanent" />
        </system.webServer>
    </location>
</configuration>

Редактировать: я разрешил двойное экранирование, которое отключает интерполяцию IIS7 для + как пробела.Решение получено из: http://www.ifinity.com.au/Blog/entryid/60/404-error-in-iis-7-when-using-a-url-with-a-plus-sign-in-the-path

0 голосов
/ 12 ноября 2011

В IIS7 по умолчанию + часто интерполируется как пробел. В IIS7 могут быть разрешены папки с именем +, но процессор URL сначала интерполирует его в пробел.

См. http://www.ifinity.com.au/Blog/entryid/60/404-error-in-iis-7-when-using-a-url-with-a-plus-sign-in-the-path для обходного пути, но это потенциально может открыть недостатки безопасности.

...