ASP .NET 301 перенаправление создать проблему для некоторых пользователей - PullRequest
0 голосов
/ 11 января 2010

Это код, который я использую для перенаправления с www. для не www. версия моего сайта

void Application_BeginRequest(object sender, EventArgs e)
{
    string authority = Request.Url.Authority;
    if (authority.StartsWith("www."))
    {
        authority = authority.Remove(0, 4);
        string newUrl = "http://" + authority + Request.Url.PathAndQuery;

        Response.Clear();
        Response.Status = "301 Moved Permanently";
        Response.AddHeader("Location", newUrl);
        Response.End();            
    }
}

это инструмент, который я использовал для проверки работоспособности приведенного выше кода:

http://www.internetofficer.com/seo-tool/redirect-check/

Хотя почти все пользователи работают как и ожидалось, некоторые из них жаловались, что не могут получить доступ к сайту. Я вошел на их компьютер с помощью TeamViewer, и действительно, была проблема. Когда они пытаются получить доступ к сайту, FF и IE выдают ошибку: похоже, что нужного вам сайта нет.

В чем проблема?

1 Ответ

1 голос
/ 11 января 2010

Вы используете .PathAndQuery, поэтому взгляните на этот ответ: Гиперссылки перестают работать в Firefox после перенаправления?

проблема решена удалением знака вопроса из URL перенаправления.

Итак, попробуйте использовать свойство Request.Url.LocalPath.

...