WedX - журнал о программировании и компьютерных науках

Перезапись URL-адреса IIS при первоначальном запросе хоста

У меня возникла проблема с перезаписью URL-адреса интегрированного конвейера IIS7. Для моего конкретного сценария мне нужно переписать/перенаправить часть исходного запроса следующим образом.

  1. Пользователь вводит https://savecontoso.com/files/123456789/somefile.html в адресную строку браузера.

  2. Пользователь перенаправлен на https://savecontso.com/default.aspx?url= (результаты url="default.aspx?url={R:1}")

В настоящее время это работает, как и ожидалось, только если я создаю первоначальный запрос как таковой, https://savecontoso.com/default.aspx/files/123456789/somefile.html.

Я должен отметить, что на сервере нет ни фактического каталога /files/, ни /123456789/, ни файла с именем somefile.html. Мне просто нужно, чтобы весь путь и имя файла были добавлены к строке запроса.

Это мой первый день работы с функциями перенаправления/перезаписи с использованием IIS вместо кода страницы. Я понимаю, что перезапись происходит перед запросом страницы, но по какой-то причине мой конкретный код требует запроса страницы перед запуском перенаправления.

Я подозреваю, что это потому, что я не запускаю условия при первоначальном запросе?

<rewrite>
<rules>
<rule name="1" stopProcessing="true">
<match url="(.*)(/files/\d+/.*html$)" />
<action type="Redirect" redirectType="Permanent" url="default.aspx?url={R:1}" />
</rule>
</rules>
</rewrite>
04.09.2011

Ответы:


1

Скорее всего, это не работает из-за вашего шаблона соответствия:

  • {R:1} будет соответствовать только (.*) в вашем шаблоне и никогда не будет соответствовать files/123...
  • URL-адрес в шаблоне соответствия всегда начинается без косой черты: должно быть files/\d+..., а не /files/\d+....

Попробуйте вместо этого (у меня отлично работает):

<rule name="1" stopProcessing="true">
    <match url="^files/\d+/.*\.html$" />
    <action type="Redirect" url="default.aspx?url={R:0}" redirectType="Permanent" />
</rule>
04.09.2011
  • Миллион благодарностей за помощь. Я пробовал все виды группировки до публикации. Даже разбил его на 4 раздела и попытался добавить для тестирования. Это была косая черта как главный виновник. Маленькие подробности... Еще раз спасибо, очень помогли. 05.09.2011
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]