Я использую ASP.NET 4. Я хочу выполнить перенаправление 301 с http://sitename.com на http://www.sitename.com.
Каков наилучший способ (и дополнительные способы) сделать это?
Мой сайт также индексируется по IP-адресу. Как я могу остановить это.
Я использую ASP.NET 4. Я хочу выполнить перенаправление 301 с http://sitename.com на http://www.sitename.com.
Каков наилучший способ (и дополнительные способы) сделать это?
Мой сайт также индексируется по IP-адресу. Как я могу остановить это.
Вы можете сделать простую проверку в 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
на ваш домен.
Я бы сделал перенаправление 301 на уровне IIS, см. эту публикацию в блоге: SEO-канонические URL-адреса и перенаправления 301 в Windows IIS 6, IIS 7
Чтобы запретить индексацию сайта по IP-адресу, настройте "site" в IIS, чтобы иметь имя хоста, не оставляйте это поле пустым.
В зависимости от вашего DNS-провайдера они могут настроить перенаправления, обычно называемые чем-то вроде веб-переадресации, веб-псевдонима или веб-перенаправления. Просто убедитесь, что это 301, а не набор фреймов.
Связанные вопросы: Перенаправление канонических имен в Godaddy?
<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, чтобы добавить это правило в тег rules
<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.