> > Я сталкивался с тем как создать человекопонятный урл на 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
Смущает только одно, что все ероры пишуться в лог файл, как мне кажется, загружают сервер. По сути, при каждом обращении на сайт будет гененироваться ошибка (ссылки то неккоректные), а если сайт сильнопосещаемый?
Не пригрузит ли это сервер?
> Смущает только одно, что все ероры пишуться в лог файл, как мне кажется, загружают сервер. По сути, при каждом обращении на сайт будет гененироваться ошибка (ссылки то неккоректные), а если сайт сильнопосещаемый? > Не пригрузит ли это сервер?
Дело в том, что 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.
Здравствуйте, 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 ошибки.
Здравствуйте, PavelSha, Вы писали:
PS>А теперь мой вопрос: в другом ветке данного обсуждения советовали ISAPI_Rewrite. Кто-нибудь использовал его с ASP.NET?
Так тебе асп надо или асп.нет? зачем isapi_rewrite при использовании асп.нет нужен?
He's taking the preventive measures, It must have been too late
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 >>
Программист ни что иное как цивилизованный клон обезьяны