Допустим, у меня есть сайт под названием
http://sub.example.com/
Я хочу переписать запросы так, чтобы, когда пользователь вводит:
http://sub.example.com/id/company-name
Он должен быть внутренне переписан в:
http://sub.example.com/public.aspx
(Полагаю, это похоже на то, как обрабатываются ссылки на вопросы SO, когда все вопросы имеют уникальный идентификатор и неуникальное название, и для создания страницы используется только идентификатор. Таким образом, старая ссылка на вопрос будет работать даже после изменения названия вопроса)
Я пытаюсь сделать это:
В Application_BeginRequest
в global.aspx
я впервые признал, что запрашиваемая страница является «общедоступной» страницей. Тогда я делаю
HttpContext.Current.RewritePath ( "~ / государственный / default.aspx",
False)
В ~/public/default.aspx
Затем я извлекаю идентификатор для динамической генерации определенной страницы компании (например, логотипа и названия компании).
Это хорошо работает в моей локальной среде разработки, но на сервере кажется, что Application_BeginRequest не запущен. Я думаю, это потому, что запрошенная папка не существует?
Как мне решить эту проблему, или есть лучшие способы реализовать это поведение?