Правило перезаписи URL IIS - документ по умолчанию для подкаталогов - PullRequest
0 голосов
/ 15 июня 2010

Я хотел бы создать правило перезаписи URL, которое будет устанавливать документ по умолчанию для моих виртуальных папок. например. что-то вроде этого

www.domain.com/en/ -> www.domain.com/en/index.aspx
www.domain.com/hr/ -> www.domain.com/hr/index.aspx
www.domain.com/de/ -> www.domain.com/de/index.aspx

каталогов en, hr, de на самом деле не существует на веб-сервере, это всего лишь маркеры языка, используемые на сайте, используемом модулем http, выращенным в домашних условиях, который переписывает путь с параметрами запроса.

Быстрое решение было определить правило для каждого отдельного языка, что-то вроде этого:

<rewrite>
    <rewriteMaps>
        <rewriteMap name="Langs">
            <add key="/en" value="/en/index.aspx" />
            <add key="/hr" value="/hr/index.aspx" />
            <add key="/de" value="/de/index.aspx" />
        </rewriteMap>
    </rewriteMaps>
<rules>

Но мне бы очень хотелось, чтобы решение не требовало изменений в файле web.config и добавления правила перезаписи для каждого языка, используемого на конкретном сайте.

Спасибо!

1 Ответ

2 голосов
/ 15 июня 2010
<rule name="Lang-Redirect">
    <match url="^(\w{2})\/?$" />
    <action type="Rewrite" url="{R:1}/index.aspx" />
</rule>

Это должно позволить вам захватить языковой тег из запроса и переписать его в ваш собственный обработчик http.

...