Маска URL для субдомена с использованием IIS
Я хочу замаскировать или скрыть URL с поддоменом.
Например, если у меня есть URL-адрес http://example.com/news/article/this-is-an-article можно было бы посетить http://test.example.com/this-is-an-article и та же страница будет отображаться. Примечание: желаемый вторичный URL-адрес является поддоменом исходного URL-адреса.
Я использую IIS 7. Все примеры, которые я рассмотрел, меняют только структуру существующего URL (вместо того, чтобы сопоставлять его с поддоменом). Я ищу что-то другое для перенаправления (возможно, переписать, если это правильный термин).
1 ответ
Предполагая, что вы используете модуль перезаписи IIS, существует два основных типа ответов: перезапись и перенаправление.
Перезапись берет существующий URL-адрес и изменяет его внутри того же сайта, так что URL, который на самом деле не существует на сайте, переназначается на существующую конечную точку. Пользователь не замечает разницы, запрошенный URL возвращает ожидаемый контент. Это работает только внутри сайта.
Перенаправление используется, когда вам нужно вернуть контент с другого сайта (например, в вашем случае). Вместо того, чтобы переписывать URL-адрес внутри, в браузер возвращается 301 или 302 с новым URL-адресом. Браузер просто запрашивает новый URL и получает контент со второго сайта. Пользователь заметит изменение URL в адресной строке.
Таким образом, вы должны использовать тип ответа перенаправления в модуле перезаписи, только в этом случае вы можете указать абсолютный URL-адрес, такой как http://example.com/news/article/this-is-an-article
Если и example.com, и test.example.com сопоставлены с одним и тем же сайтом IIS, вы можете использовать правило перезаписи.