.Net web.config соответствует базовому URL-адресу

У нас есть CMS, где мы размещаем несколько сайтов в разных поддоменах, но с одним и тем же основным доменом:

Пример:

sub1.mysite.com

sub2.mysite.com

Это одно и то же приложение, и они используют один и тот же файл web.config. Поэтому, когда я пытаюсь написать правило перезаписи и похожее совпадение существует на другом сайте поддомена, перезапись влияет на все сайты.

Я хочу сопоставить домен базового уровня (mysite.com или sub.mysite.com) и создать свои правила перезаписи?

Все ответы, которые я нахожу, говорят о том, чтобы использовать что-то вроде

 <match url = "^(.*)$" ignoreCase = "true" />
 or <match url = "^mypage/?(.*)$" />
 or <match url = "^mypage/mysubpage//?(.*)$" />

Но проблема с просмотром любого из них заключается в том, что знак "^" является своего рода подстановкой, а не специфичным для домена / субдомена.

Допустим, я хочу иметь правило перезаписи для

mysite.com/about-us

а сайт субдомена имеет страницу с таким же названием

sub1.mysite.com/about-us

НО я хочу ТОЛЬКО переписать основной mysite.com/about-us и НЕ иметь того же правила перезаписи на сайте sub1.mysite.com/about-us.

Как мне сказать, что я хочу, чтобы mysite.com/about-us был переписан на mysite.com/about/about-us?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
423
1

Ответы 1

Если вы включите «HTTP_HOST» в свое правило, вы можете ограничить его своим основным URL-адресом.

например. в приведенном ниже примере у меня есть основной домен, настроенный как Replicant.test, и перенаправление НЕ будет работать в субдомене, таком как site1.replicant.test.

        <rule name = "Main site redirect" stopProcessing = "true">
            <match url = "^article/([0-9]+)/([_0-9a-z-]+)" />
            <action type = "Rewrite" url = "article.aspx?id = {R:1}&amp;title = {R:2}" />
            <conditions>
                <add input = "{HTTP_HOST}" pattern = "^replicant\.test$" />
            </conditions>
        </rule>

Основное правило перенаправления было взято из https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module.

Другие вопросы по теме