Я переработал старый веб-сайт форм для ASP MVC web api. Некоторые старые URL-адреса появляются в поисковых системах и форумах со старым URL-адресом веб-форм и строкой запроса, мне нужны эти поисковые запросы по идентификатору строки запроса и перенаправление на новый сайт с именем переменной. Я добавил страницу веб-формы ASP в мое корневое приложение MVC для выполнения перенаправления. Проблема в том, что когда я пытаюсь использовать код на моем локальном хосте, он работает, но затем, когда я пытаюсь использовать его на веб-сайте, он перенаправляется на главную страницу. Это может быть связано с тем, что у меня есть правило перезаписи для перенаправления всех http: https. Я не уверен.Перенаправить HTTP-форму запроса строки в https
тока Бинг URL http://www.domain.com/View.aspx?ID=1
Это работает https://www.domain.com/View.aspx?ID=1 (HTTPS вместо HTTP)
Перенаправление http://www.domain.com/NewPath/SampleName
кодекса следующим
try
{
string url = "https://domain.com/NewPath/" + getNewName(Request.QueryString["id"]);
Response.Redirect(url, false);
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
catch (Exception)
{
Response.Redirect("https://domain.com");
}
правило веб-конфигурации переписывания
<location path="app/views">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>
</location>
<rewrite>
<rules>
<rule name="SecureRedirect" stopProcessing="true">
<match url="^(.*)$" />
<conditions>
<add input="{HTTPS}" pattern="off" />
<add input="{HTTP_HOST}" pattern="^(www\.)?(.*)$" />
</conditions>
<action type="Redirect" url="https://{C:2}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>