301 Redirect на засыпку!

12
Loofort
На сайте с 23.04.2006
Offline
28
1246

что только не пробовал но получается что не возможно сделать 301 редирект с domain.my/default.aspx на domain.my/ (или в обратную сторону).

Т.к. не возможно отсечь вводил ли пользователь "default.aspx" в браузер или нет. Все методы всегда возвращают default.aspx, даж если не вводили ничего.

Может кто поможет?

Asp.NET 1.1

IIS 5.0

SEO-Сервис по проверке индекса Google (http://seo4site.com/tools/index-checker/) пасрать тут (blog) (http://blog.seo4site.com/)
threak
На сайте с 02.03.2006
Offline
31
#1

посмотри

http://www.codeproject.com/aspnet/URLRewriter.asp

http://www.15seconds.com/issue/030522.htm

Самому нужно закодить, да всё руки не доходят.

Если разберешься - расскажешь что к чему :)

Куплю хорошие площадки под статьи ссылки с внутренних Промышленность/Строительство.
Oniks
На сайте с 22.08.2005
Offline
176
#2

Незнай как там в ИИС, но через хтаксес это делается так:

RewriteEngine On
RewriteRule ^/default.aspx$ /

Поскольку ИИС тож сервер, должно сработать, наверно...

Профессиональные услуги фотографа в Москве и области (http://www.oniks-photo.ru/) покупаю стать и ссылки с сайтов про охоту
K
На сайте с 31.01.2001
Offline
737
#3

Гы-гы, щас. mod_rewrite - это модуль Апача, а тут IIS, к нему такого модуля нет, у них свой геморрой :).

Выделенные полосы в Москве (http://www.probkovorot.info) привели к снижению скорости до 23%.
K. Ermakov
На сайте с 10.12.2004
Offline
328
#4
Oniks:
Поскольку ИИС тож сервер, должно сработать, наверно...

Вы абсолютно неправы. В IIS данная проблема решается совершенно по-другому (по моим впечатлениям - сложнее, чем в апаче)

С уважением, Константин Ермаков, absite.ru: онлайн кроссворды (http://absite.ru/); searchsuggest.ru: поисковые подсказки доставляют (http://searchsuggest.ru/).
Dwarf
На сайте с 06.10.2004
Offline
60
#5
K. Ermakov:
Вы абсолютно неправы. В IIS данная проблема решается совершенно по-другому (по моим впечатлениям - сложнее, чем в апаче)

Практически так же :) http://www.isapirewrite.com/

Только вот зачем такой редирект?

Деревянные окна (http://www.wood-win.ru/)
K. Ermakov
На сайте с 10.12.2004
Offline
328
#6
Dwarf:
Только вот зачем такой редирект?

Какой? Такой:

Loofort:
301 редирект с domain.my/default.aspx на domain.my/
Loofort
На сайте с 23.04.2006
Offline
28
#7
Dwarf:
Только вот зачем такой редирект?

Объясняю. Раньше у сайта для главной страницы было 4 адреса. и для каждой свой PR.

(первый столбик - это ПР)

1 domain.com/

2 domain.com/default.aspx

2 www.domain.com/

3 www.domain.com/default.aspx

Это случилось потому что изначально сайт имел версию с www и без www. Внешние ссылки шли на domain.com/ либо на www.domain.com/, а внутренние на domain.com/default.aspx и www.domain.com/default.aspx.

Идея в общем в том что бы слить все PR 301 редиректом на одну страницу www.domain.com/. Интересно кстати что в результате получиться.:)

Я конечно, уже сделал 301 редирект со всех страниц без www на версию с www. А также изменил внутренние линки так что бы они ссылались на www.domain.com/ а не на www.domain.com/default.aspx.

Но вот 301 редирект с www.domain.com/default.aspx на www.domain.com/ не могу сделать, т.к. все методы типа Response.Path возвращают default.aspx даже если пользователь набрал просто www.domain.com/.

---------

Пока я это писал появился попутно вопрос (может даже для новой темы).

Редирект 301 переносит ПР на новую страницу. Вопрос в том, будет ли такой же эффект если сделать что бы линки (ссылающиеся на старую страницу) ссылались на новую. Тогда может можно и не делать 301 редирект?

Loofort
На сайте с 23.04.2006
Offline
28
#8

threak,

вот для тебя скрипт (редирект с без www на www). Ставишь в global.asax на событие BeginRequest и вперёд. Только я ещё переменную поместил в web.config, isRedirect301 называется, думаю смысл понятен.:) пригодится чтобы не редиректило на тестовом сервере.


private void Global_BeginRequest(object sender, System.EventArgs e)
{
if ((System.Configuration.ConfigurationSettings.AppSettings["isRedirect301"]!= null)
&&(System.Configuration.ConfigurationSettings.AppSettings["isRedirect301"].ToString()=="true"))
{
if (!HttpContext.Current.Request.ServerVariables["SERVER_NAME"].ToString().Equals("www.domain.com"))
{
HttpContext.Current.Response.Status = "301 Moved Permanently";
string isQueryString = (HttpContext.Current.Request.QueryString.ToString()=="")?"":"?"+HttpContext.Current.Request.QueryString.ToString();
string isPath = (HttpContext.Current.Request.Path=="/default.aspx")?"/":HttpContext.Current.Request.Path;

HttpContext.Current.Response.AddHeader("Location", "http://www.domain.com" + isPath + isQueryString);
HttpContext.Current.Response.End();
}
}
}
Dwarf
На сайте с 06.10.2004
Offline
60
#9
Loofort:
а внутренние на domain.com/default.aspx и www.domain.com/default.aspx.

Мдя. Возьмите за правило: ссылка на корень сайта должна выглядеть


<a href="/">

и никак иначе. И не надо никаких редиректов (к склейке зеркал "с www" и "без www" это не относится). Думается, что внешних ссылок, ведущих именно на default.aspx, у вас очень и очень немного.

Я б не парился. Особенно при PR=3. Я бы внешних ссылок понаставил :)

Loofort
На сайте с 23.04.2006
Offline
28
#10

сайт достался в наследство.

А с ссылками вообще проблема. Владельцы сайта подписали его на сервис обмена перекрёстными ссылками и теперь у них на сайте есть каталог с линками на всякий бред по различной тематике. И Мне ещё предстоит доказать владельцам что так нельзя делать :(

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий