код, чтобы лишить /Default.aspx
и //www
не работает (как и ожидалось):зачистки default.aspx // и WWW из URL
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext context = HttpContext.Current;
string url = context.Request.RawUrl.ToString();
bool doRedirect = false;
// remove > default.aspx
if (url.EndsWith("/default.aspx", StringComparison.OrdinalIgnoreCase))
{
url = url.Substring(0, url.Length - 12);
doRedirect = true;
}
// remove > www
if (url.Contains("//www"))
{
url = url.Replace("//www", "//");
doRedirect = true;
}
// redirect if necessary
if (doRedirect)
{
context.Response.Redirect(url);
}
}
это работает обычно, но при отправке формы (знак, например, в) код выше INTERCEPTS запроса, а затем перенаправляет на ту же страницу. пример:
- пытается прибыть на странице:
~/SignIn/Default.aspx
- запросов получает перехваченный и прикрепленный к:
~/SignIn/
- заполнить форму, нажмите знак в
- текущий URL страницы идет от:
~/SignIn/
до~/SignIn/Default.aspx
и снова фиксируется, тем самым аннулируя обработку методаSignIn
(который перенаправил браузер на/SignIn/Success/
), и страница перезагружается как~/SignIn/
, и никаких входных данных не было сделанный.
, пожалуйста, помогите. не знаю, что/как исправить здесь.
главный ТРЕБОВАНИЕ здесь:
удалить /Default.aspx
и //www
из
Thnx
действительно. Спасибо. Я проверил для context.Request.HttpMethod.ToString(). Equals («GET») и вернулся, если не так. это ** HttpMethod **, хотя и не метод (для полной корректности, если кто-либо использует это). – b0x0rz