Как перенаправить этот шаблон URL в asp.net webforms или asp.net mvc? - PullRequest
0 голосов
/ 10 июня 2009

Я пытаюсь перенаправить пользователя, когда он полностью URL в этом формате:

http://example.com/http://example2.com/

К следующему:

http://example.com/?m=example2.com#http%3A%2F%2Fwww.example2.com%2F

Я хочу удалить хост example2 и сделать его строкой запроса, затем URL-адрес закодировать полный URL-адрес example2 и поместить его в качестве якоря.

Каков наилучший способ сделать это в asp.net? Я могу использовать mvc, iis7 или iis6. Я знаю, что мог бы сделать это, сопоставляя все с .NET в IIS6, а затем используя httpcontext.rewritepath, но держу пари, что есть лучший способ.

Спасибо.

Ответы [ 2 ]

1 голос
/ 10 июня 2009

К сожалению, ASP.NET не допускает двоеточие в любом месте пути URL. Даже не сбежавшая толстая кишка (% 3A). Это разрешено только в части строки запроса.

Это ограничение действует даже до того, как произойдет перезапись URL. (Вы получите ошибку 400 Bad Request .) В этом вопросе ответчик ответил на свой вопрос со ссылкой на Stefan из команды ASP.NET .

Конечно, вы все равно можете получить URL-адрес от своего пользователя любым удобным вам способом и отформатировать URL-адрес или перенаправить его так, чтобы ASP.NET мог его использовать.

0 голосов
/ 10 июня 2009

Что вы думаете о концепции urlrewritting ASP.net. Я думаю, что это может решить вашу цель

...