Человекопонятный урл на ASP
От: Аноним  
Дата: 14.05.04 11:47
Оценка:
Я сталкивался с тем как создать человекопонятный урл на php под Apache.
Теперь необходимо решение этой задачи под IIS-ом на ASP.

То есть мне необходимо, чтобы url http://mysite.ru/article/12/ интерпретировался как http://mysite.ru/article.asp?id=12

Буду благодврен за любые решения!
Re: Человекопонятный урл на ASP
От: Othello  
Дата: 14.05.04 12:13
Оценка:
>
> Я сталкивался с тем как создать человекопонятный урл на php под Apache.
> Теперь необходимо решение этой задачи под IIS-ом на ASP.
>
> То есть мне необходимо, чтобы url http://mysite.ru/article/12/ интерпретировался как http://mysite.ru/article.asp?id=12
>
> Буду благодврен за любые решения!
Надо перехватить 404 ошибку в IIS (Сustom Errors) на скажем Error404.asp
в нём может быть чтото вроде
<script language="vbscript" runat="server">
Dim urls, li, i
urls = Split(CStr(Request.QueryString),"/")
li = UBound(urls)
For i=3 To li
 Session.Contents("Param_" & i-2) = urls(i)
Next
Server.Execute ("/" & urls(3) & ".asp")
For i=3 To li
 Session.Contents.Remove("Param_" & i-2)
Next
Response.End
</script>

все параметры будут доступны в по Session.Contents
Posted via RSDN NNTP Server 1.8
Re[2]: Человекопонятный урл на ASP
От: Аноним  
Дата: 14.05.04 12:22
Оценка:
O>Надо перехватить 404 ошибку в IIS (Сustom Errors) на скажем Error404.asp
O>в нём может быть чтото вроде
O>
O><script language="vbscript" runat="server">
O>Dim urls, li, i
O>urls = Split(CStr(Request.QueryString),"/")
O>li = UBound(urls)
O>For i=3 To li
O> Session.Contents("Param_" & i-2) = urls(i)
O>Next
O>Server.Execute ("/" & urls(3) & ".asp")
O>For i=3 To li
O> Session.Contents.Remove("Param_" & i-2)
O>Next
O>Response.End
O></script>
O>

O>все параметры будут доступны в по Session.Contents

Смущает только одно, что все ероры пишуться в лог файл, как мне кажется, загружают сервер. По сути, при каждом обращении на сайт будет гененироваться ошибка (ссылки то неккоректные), а если сайт сильнопосещаемый?
Не пригрузит ли это сервер?
Re[3]: Человекопонятный урл на ASP
От: Othello  
Дата: 14.05.04 12:50
Оценка:
> Смущает только одно, что все ероры пишуться в лог файл, как мне кажется, загружают сервер. По сути, при каждом обращении на сайт будет гененироваться ошибка (ссылки то неккоректные), а если сайт сильнопосещаемый?
> Не пригрузит ли это сервер?
Дело в том, что url: /news/2004/april/30 ведёт в любом случае по несуществующему пути.
Для сильно посещаемых сайтов ставят серьёзные сервера. А логи они ведут в любом случае...
На сколько я знаю — метод перехвата ошибки широко применяется.
Уверен что проблем не возникнет. Особой нагрузки на сервер это не даёт.

ЗЫ. если у вас есть формы — то их нужно отправлять на реальные ASP.
Posted via RSDN NNTP Server 1.8
Re[4]: Человекопонятный урл на ASP
От: Аноним  
Дата: 14.05.04 13:38
Оценка:
Здравствуйте, Othello, Вы писали:

>> Смущает только одно, что все ероры пишуться в лог файл, как мне кажется, загружают сервер. По сути, при каждом обращении на сайт будет гененироваться ошибка (ссылки то неккоректные), а если сайт сильнопосещаемый?

>> Не пригрузит ли это сервер?
O>Дело в том, что url: /news/2004/april/30 ведёт в любом случае по несуществующему пути.
O>Для сильно посещаемых сайтов ставят серьёзные сервера. А логи они ведут в любом случае...
O>На сколько я знаю — метод перехвата ошибки широко применяется.
O>Уверен что проблем не возникнет. Особой нагрузки на сервер это не даёт.

O>ЗЫ. если у вас есть формы — то их нужно отправлять на реальные ASP.


Спасибо Буду знать!
Re: Человекопонятный урл на ASP
От: Andir Россия
Дата: 15.05.04 05:29
Оценка: +1
Здравствуйте, <Аноним>, Вы писали:

А>То есть мне необходимо, чтобы url http://mysite.ru/article/12/ интерпретировался как http://mysite.ru/article.asp?id=12


А>Буду благодврен за любые решения!


ISAPI_Rewrite. здесь

C Уважением, Andir!
<-- using(RSDN@Home 1.1.4 beta 1) {/* Работаем */} -->
Re[4]: Человекопонятный урл на ASP
От: PavelSha Россия http://www.pavelsha.pp.ru
Дата: 22.07.04 07:56
Оценка:
Здравствуйте, Othello, Вы писали:

>> Смущает только одно, что все ероры пишуться в лог файл, как мне кажется, загружают сервер. По сути, при каждом обращении на сайт будет гененироваться ошибка (ссылки то неккоректные), а если сайт сильнопосещаемый?

>> Не пригрузит ли это сервер?
O>Дело в том, что url: /news/2004/april/30 ведёт в любом случае по несуществующему пути.

Зачем считать несуществующим путь, который обрабатывается сервером. Наверное, правильнее считать трюк с обработкой такого пути через error404 не очень удачным решением.

А теперь мой вопрос: в другом ветке данного обсуждения советовали ISAPI_Rewrite. Кто-нибудь использовал его с ASP.NET?
... << RSDN@Home 1.1.2 stable >>
Re[5]: Человекопонятный урл на ASP
От: Аноним  
Дата: 22.07.04 08:07
Оценка:
Здравствуйте, PavelSha, Вы писали:

PS>Здравствуйте, Othello, Вы писали:


PS>А теперь мой вопрос: в другом ветке данного обсуждения советовали ISAPI_Rewrite. Кто-нибудь использовал его с ASP.NET?


на ASP.NET можно реализовать ЧПУ с помощью так называемых модулей, без использования 404 ошибки.
Re[5]: Человекопонятный урл на ASP
От: Gollum Россия  
Дата: 22.07.04 08:15
Оценка:
Здравствуйте, PavelSha, Вы писали:

PS>А теперь мой вопрос: в другом ветке данного обсуждения советовали ISAPI_Rewrite. Кто-нибудь использовал его с ASP.NET?


Так тебе асп надо или асп.нет? зачем isapi_rewrite при использовании асп.нет нужен?
He's taking the preventive measures, It must have been too late
Eugene Agafonov on the .NET

Re[4]: Человекопонятный урл на ASP
От: arachn http://www.itcwin.com/
Дата: 05.08.04 14:47
Оценка:
Здравствуйте, Othello, Вы писали:


O>На сколько я знаю — метод перехвата ошибки широко применяется.

O>Уверен что проблем не возникнет. Особой нагрузки на сервер это не даёт.

O>ЗЫ. если у вас есть формы — то их нужно отправлять на реальные ASP.


не надо... все это можно реализовать через mod_rewrite

RewriteEngine    On
RewriteRule ^article/([0-9]+)/index.html    /article.asp?id=$1
... << RSDN@Home 1.1.3 stable silent >>
Программист ни что иное как цивилизованный клон обезьяны
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.