|
|
#10 |
|
Новичок
Регистрация: 04.08.2007
Сообщений: 1
![]() |
Вот единственное, что работает как следует
http://www.urlrewriter.net/ В последних версиях получается сделать чтобы и AJAX работал, и темы, и все остальное. Вот пример использования. (замените круглые скобки на галки XML в Web.config и в Rewriting.browser) 1. Договариваемся с хостингом, чтобы вам включили опцию "обрабатывать все запросы с помощью ASPNET". Дело в том, что JPG, JS, PNG и проч. IIS обрабатывает сам, так что rewriting не сработает для этих файлов как надо. Но хуже всего то, что обработчик Default.aspx вызывается тоже самим IIS, так что запрос типа: ~/forums/aspnet/rewriting/ не спросит у рерайтера, а попытается обратиться к файлу Default.aspx из соотв. папки. Результат этой операции - все запросы будут обрабатываться ASPNET. Что это дает? Рерайтер сможет переписать любой путь. Можно даже полностью запретить прямое обращение к файлу с расширением ASPX помимо предусмотренного рерайтером пути. Это может повлиять на производительность сайта и логику HTTP модулей. Например, если вы что-то делали с помощю модуля для всех ASPX страниц, то теперь это будет делаться и для JPG, и для HTML, тоесть и для статических файлов. Так что, например, без оглядки открывать в модуле сессию доступа к базе данных будет уже не кошерно. Если вы не готовы к такому, то лучше рассмотрите технологию SES Urls, или предусмотрите URLS типа ~/articles/rewriting_with_aspx_fake_page/ShowPost.aspx тоесть вы обманываете IIS - все что .aspx - перенаправляется на обработку ASPNET, и рерайтер может это обработать. 2. Конфигурация. 2.1 Цепляем сборку к проекту. Можно положить Intelligencia.UrlRewriter.dll в папку bin, или как вам удобнее. 2.2 Web.config Приведу полный пример, почти из жизни. (?xml version="1.0"?)(configuration) (configSections) (section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.Rewr iterConfigurationSectionHandler, Intelligencia.UrlRewriter"/) (/configSections) (rewriter) (if header="HTTP_HOST" match="www.myparty.ru") (redirect url="^~/.*" to="http://www.mysuperparty.ru" permanent="true"/) (/if) (if header="HTTP_HOST" match="myparty.ru") (redirect url="^~/.*" to="http://www.mysuperparty.ru" permanent="true"/) (/if) (if header="HTTP_HOST" match="www.my-party.ru") (redirect url="^~/.*" to="http://www.mysuperparty.ru" permanent="true"/) (/if) (if header="HTTP_HOST" match="my-party.ru") (redirect url="^~/.*" to="http://www.mysuperparty.ru" permanent="true"/) (/if) (rewrite url="^~/$" to="~/Default3.aspx/" /) (if url="^~/(vasya|masha).*") (if url="^~/(w+)/(sex|drugs|rocknroll).*" /) (!-- вся вечеринка здесь --) (redirect url="^~(.*w+)$" to="~$1/"/) (!-- запрет URL без слеша в конце, очень важно! --) (rewrite url="^~/(w+)/(w+)/$" to="~/use.aspx?what=$1&who=$2" processing="stop" /) (/if) (/if) (/rewriter) (system.web) (httpModules) (add type="Intelligencia.UrlRewriter.RewriterHttpModule , Intelligencia.UrlRewriter" name="UrlRewriter"/) (/httpModules) (/system.web) (/configuration) Очень рекоммендую использовать только полный разбор строки, с помощью $ в конце. Это избавит вас от очень многоих хлопот и ловли блох 2.2 Корректный postback - на тот же URL, с которого вы пришли. Если не использовать - то при постбеке ASPNET ут же вывалит вам свои отвратительные кишки (путь к обработчику с расширением ASPX в конце) Важный пункт, которого нет на сайте urlrewriter.net (искал отдельно) App_Browsers/Rewriting.browser (browsers) (browser refID= |
|
|
| Ads | |
![]() |
| Опции темы | |
Похожие темы
|
|
| Тема | Автор |
|
Возможно ли из iFrame обратитбся к контролу снаружи iFrame? ASP.NET Имеется страница на которой есть текстбокс и iFrame. Возможно ли из страницы, загруженной в iFrame обратиться к текстбоксу, который находится снаружи iFrame? Если невозможно - ответьте НЕТ. Если... |
evgenybe |
|
ASP.NET Удалять запись в Гриде В гриде есть колонка с CheckBox мне надо удалить все записи в которых CheckBox.Checked = true. Как проверить я знаю, но вот как удалить такие записи не могу понять. |
Грифин |
|
ASP.NET Отслеживание версии аппликации. Как можно задавать номер версии Web-Application? Как можно получить программно доступ к номеру версии? Есть ли для этого какие-то встроенные возможности? |
evgenybe |
|
Скрипт поиска и скрипт голосование. ASP.NET <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT size=3><FONT color=#000000><FONT face="Times New Roman Народ помогите найти пример скрипт поиска на сайте и скрипт голосование.<?xml:namespace... |
Грифин |
|
NoWrap для ASP.NET - e.Row.Cells[grid.SortColumn].Wrap = false; В заголовке GridView стоит название таблицы и добавленная картинка, которая показывает направление сортировки столбца (картинка справа от надписи). При сортировке по убыванию соответствующая картинка... |
RLZ |
|
Параметры не на английском языке передаются неправильно. ASP.NET Имеется аппликация написанная на одном из восточных языков. В одной из страниц в JavaScript открываем новое окно и в "хвост" URL цепляем QueryString, насколько параметров. В вызваном окне пытаемся... |
evgenybe |
|
|