#asp.net #redirect #iis #url-rewriting
#asp.net #перенаправление #iis #url-перезапись
Вопрос:
Я здесь в крайнем случае. Итак, вот моя проблема, на работе мой начальник попросил меня переписать URL-адрес, чтобы он был более удобным для пользователя.
Старый шаблон такой: https://{hostServer}/SiteName/index.html
Новый должен быть таким: https://maps.swcs.be
Но я посмотрел в документе IIS, посмотрел здесь для получения дополнительной информации и т.д…
Я узнал, что это делается в файле web.config в корне репозитория «wwwroot», поэтому я написал там свое правило
вот оно
<system.webServer>
<rule name="redirection d'url">
<match url=".*"/>
<conditions>
<add input="{https://maps.swcs.be}" type="Pattern" pattern="Ëxpertises[0-9]index.html">
</conditions>
<action type="Rewrite" url="https://maps.swcs.be" />
</rule>
</system.webServer>
Я <action type="Redirect" ...>
тоже пробовал и другие вещи, но это единственное, что что-то вернуло… IISstart.htm файл
Я довольно новичок в перенаправлении URL, если бы кто-нибудь из вас мог меня просветить, это было бы здорово
Заранее спасибо
Комментарии:
1. 1. Просмотрите примеры, показанные Microsoft в документации, чтобы вы действительно начали понимать, как работают регулярные выражения и настройки, learn.microsoft.com/en-us/iis/extensions/url-rewrite-module /. … 2. Узнайте, как использовать FRT для отладки правил, learn.microsoft.com/en-us/iis/extensions/url-rewrite-module /…
2. Следите за своими словами. Если вы действительно тратите достаточно времени на статьи и примеры, вам не следовало использовать недопустимое условие в правиле.
3. Извините за мои слова, я действительно устал от этого ^^ в любом случае, я нашел другой способ, с метатегом в html-файле, спасибо за советы, я буду копать больше в этой области, чтобы действительно понять, что я испортил ^^
Ответ №1:
Прежде всего, я настоятельно рекомендую вам подробно ознакомиться с документацией, предоставленной лексом ли, которая поможет вам полностью понять, как использовать url rewrite .
Во-вторых, я хочу знать ваш начальный URL-адрес и переписанный URL-адрес, вам не нужно показывать правильный URL-адрес, просто пример. Например, начальный URL- http://example.com/aaa/bbb/ccc/index
адрес и перезаписанный URL-адрес http://example.com/index
Итак, я предполагаю, что ваш первоначальный URL- https://{hostServer}/SiteName/index.html
адрес и переписанный URL- https://maps.swcs.be
адрес.
Это правило будет соответствовать uri, если uri равен /SiteName/index.html , он будет перенаправлен на https://maps.swcs.be
. Вы также можете изменить тип антиона на перезапись. Если вы выберете rewirte, ничего не произойдет при проверке URL-адреса в браузере. Но перенаправление приведет к изменению URL-адреса на новый в браузере.
Комментарии:
1. Хорошо, спасибо за ответ, я прочитал документы, предоставленные Лексом Ли, и даже его статьи, я понял принцип, и мы нашли решение здесь, на работе, уродливое. Я изменил мета-тег в HTML-файле, но мой босс хочет сохранить URL-адрес maps.swcs.be в браузере, а не в перенаправленном. Я узнал, что это перенаправление 301. Проще говоря, maps.swcs.be должен перенаправить на мою страницу ServerName/Example/index.html
2. Вы можете использовать rewrite для сохранения maps.swcs.be в браузере, подобном этому <имя правила =»перенаправление»> <соответствующий URL=».*» /> <условия> <добавить ввод =»{HTTP_HOST}» шаблон =»maps.swcs.be » /> </условия><тип действия=»Перезаписать» url=» ServerName/Example/index.html » /> </правило>
3. Если ваше решение может работать, пожалуйста, отправьте его в качестве ответа, чтобы помочь другим с подобными проблемами.
4. Извините, Чжан, это не работает, я попробовал ваше правило и HTML-тег вместе, он перенаправляет меня правильно, но он не сохраняет URL, как я хочу… Клянусь, я проклят ^^
5. Все в порядке. Новое правило — переписывать, а не перенаправлять. Какой URL-адрес вы хотите сохранить? Не могли бы вы подробно описать эффект, которого вы хотите достичь, потому что вы продолжаете упоминать HTML-тег. Перед вводом URL-адреса в браузере лучше очистить cookie и кэш. Если он по-прежнему не может сохранить URL-адрес, я предлагаю вам включить трассировку запросов на отказ, чтобы проверить процесс.