Перенаправление с http://sitename.com на http://www.sitename.com - PullRequest
0 голосов
/ 11 мая 2011

Я использую ASP.NET 4. Я хочу сделать перенаправление 301 с http://sitename.com на http://www.sitename.com.

Каков наилучший (и необязательный) способ сделать это?

Мой сайт также индексируется по IP-адресу.Как я могу это остановить.

Ответы [ 5 ]

0 голосов
/ 27 марта 2012
<rule name="Redirect to WWW" stopProcessing="true">
          <match url=".*" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^yoursite.com$" />
          </conditions>
          <action type="Redirect" url="http://www.yoursite.com/{R:0}" redirectType="Permanent" />
        </rule>

Этот код сработал у меня.Добавьте это в раздел правил вашего файла web.config

0 голосов
/ 11 мая 2011
<rule name="Redirect to www">
  <match url="(.*)" />
  <conditions>
    <add input="{SERVER_PORT}" pattern="443" negate="true" />
  </conditions>
  <action type="Redirect" url="https://www.serdardemir.net/{R:1}" />
</rule>

вы можете использовать URL переписать добавить это правило в тег правила

0 голосов
/ 11 мая 2011

Я бы сделал перенаправление 301 на уровне IIS, см. Эту запись в блоге: Канонические URL-адреса SEO и перенаправления 301 В Windows IIS 6, IIS 7

Чтобы остановить индексирование сайтана IP-адресе настройте для "сайта" в IIS имя хоста , не оставляйте его пустым.

0 голосов
/ 11 мая 2011

В зависимости от вашего провайдера DNS они могут установить перенаправления, обычно называемые веб-пересылками, веб-псевдонимами или веб-перенаправлениями.Просто убедитесь, что это 301, а не набор фреймов.

Похожие вопросы: Каноническое имя перенаправляет в Godaddy?

0 голосов
/ 11 мая 2011

Вы можете сделать простую проверку в Page_Load:

    protected void Page_Load(object sender, EventArgs e)
    {
        string serverName = HttpUtility.UrlEncode(Request.ServerVariables["SERVER_NAME"]); 
        string filePath = Request.FilePath;
        if (!serverName.ToLower().StartsWith("www.")) 
            serverName = "www." + serverName; 
        Response.Redirect("http://" + serverName + filePath); 
    }

или добавить в файл htaccess следующее:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc] 

Замена domain.com и http://www.domain.com с вашим доменом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...