asp.net UrlÖØÐ´Ñ§Ï°
1.ͨ¹ýRewritePathʵÏÖÖØÐ´
URLÖØÐ´¿ÉÒÔͨ¹ý±à³ÌµÄ·½Ê½À´ÊµÏÖ¡£ASP.NETÖеÄContex.RewritePath()·½·¨¿ÉÒÔÈÃÄã´Ó³ÌÐòÖÐʵÏÖÖØÐ´ÇëÇóµÄURL¡£Ò»µ©ÖØÐ´ºó£¬ÏµÍ³½«Ê¹ÓÃеķ¾¶À´¼ÌÐøÖ´ÐÐÕâ¸öÇëÇó¡£
ÔÚGlobal.asaxÎļþµÄApplication_BeginRequest()·½·¨ÖУ¬ÄãÐèÒªÔö¼Ó´úÂëÀ´ÔĶÁ½øÀ´µÄ·¾¶£¬È»ºó¸ù¾ÝÒ»¸ö»ò¶à¸öURLÖØÐ´¹æÔòÀ´³ÉÐèÒª½øÒ»²½´¦ÀíµÄ·¾¶¡£ÏÂÃæµÄÀý×ÓÖ´ÐÐÒÔÏÂURLÖØÐ´¹æÔò£º
ÊäÈëµÄurl:"/URLRewriting/OldUrl.aspx ÕæÊµ·ÃÎʵÄurl:"/URLRewriting/NewUrl.aspx"
ÊäÈëµÄurl:"/URLRewriting/UserAccount/{UserId}.aspx ÕæÊµ·ÃÎʵÄurl:"/URLRewriting/UserAccount.aspx?id={UserID}
ʹÓÃContex.RewritePath()ʵÏÖURLÖØÐ´:
void Application_BeginRequest(object sender, EventArgs e)
{
string path=Request.Url.ToString();
if(Regex.IsMatch(path,"WebTest/(.+).aspx",RegexOptions.IgnoreCase))
{
String idString = path.Substring(path.LastIndexOf('/') + 1, path.Length - path.LastIndexOf('/') - 6);
Context.RewritePath("Default.aspx?id=" + idString);
}
else if(Regex.IsMatch(path, "/URLRewriting/OldUrl.aspx",RegexOptions.IgnoreCase))
{
Context.RewritePath("/URLRewriting/NewUrl.aspx");
}
}
ÔÚÕâ¸öÀý×ÓÖУ¬Ã¿´ÎÒ»¸öеÄÇëÇó±»´¦ÀíµÄʱºò£¬Ëü½«Ê×ÏȲ鿴Õâ¸öApplication_BeginRequest()¡£Í¨¹ýʹÓÃRequest.UrlÊôÐÔÀ´»ñµÃÊäÈëµÄURL·¾¶£¬È»ºóͨ¹ýÕýÔò±í´ïʽÀ´Ó¦ÓÃÍøÕ¾URLÖØÐ´¹æÔò£¬Æ¥Åäµ½ÆÚÍûµÄÊäÈëÍøÖ·ºó£¬½«ËüÃÇÖØÐ´³ÉÄãÏ£ÍûתÏòµÄÍøÖ·¡£
µ±ÖØÐ´¹æÔò±È½Ï¼òµ¥ÇÒ¹æÄ£±È½ÏСµÄʱºò£¬Ê¹ÓÃContext.RewritePath() ·½·¨ÒÔ±à³ÌµÄ·½Ê½ÖØÐ´URLЧ¹û±È½Ï²»´í£¬µ«ÊÇһЩ´óÐÍÍøÕ¾Í¨³£Óзdz£¶àµÄURLÖØÐ´¹æÔò¡£ÊÖ¹¤·½Ê½¶ÔËùÓÐÕâÐ©ÖØÐ´¹æÔò½øÐбà³Ì¿ÉÄÜÊÇÒ»¼þÂé·³ÇÒÈÝÒ׳ö´íµÄ·½·¨¡£
Ò»¸ö¸üºÃµÄ½â¾ö·½·¨ÊÇ´Óweb.configÎļþÖÐʹÓÃÒ»¸öHttpModule(httpÄ£¿é)À´¶¯Ì¬µÄ´¦ÀíURLÖØÐ´¹æÔò¡£¸üÁîÈ˸ßÐ˵ÄÊÇ£¬ÄãÎÞÐè×Ô¼º¶¯ÊÖÀ´±àдHttpModuleÀ´´¦ÀíÕâЩÈÎÎñ£¬ÒѾÓм¸¸ö·Ç³£²»´íµÄÃâ·Ñ°æ¹©ÄãʹÓá£ÒÔÏÂÊÇÆäÖм¸¸ö£ºURLRewriting.Net £¬URLRewriter.Net £¬Rewrite.Net ¡£
2.ʹÓÃURLRewriting.NetÖØÐ´Url(
Ïà¹ØÎĵµ£º
///C#ÖеÄýÌå²¥·ÅÀà
using System;
namespace ConfigTools
{
/// <summary>
/// PlayClass µÄժҪ˵Ã÷¡£
///Ô×÷CSDN,¾±¾ÈËÉÔ¼ÓÐÞ¸Ä
/// </summary>
public class PlayClass
{
public PlayClass()
{
......
²âÊÔµÄurlµØÖ·ÊÇhttp://www.test.com/testweb/default.aspx, ½á¹ûÈçÏ£º
Request.ApplicationPath: /testweb
Request.CurrentExecutionFilePath: /testweb/default.aspx
Request.FilePath: /testweb/defa ......
ϵͳ¼òµ¥½éÉÜ£º
ºÜ±ê×¼µÄÅäÖãºasp.net 2.0+SqlServer 2000 or 2005,һЩͳ¼ÆÍ¼²ÉÓõÄÊÇflash¼¼Êõ~¸Õ±ÏÒµµÄʱºòÔÚÒ»¼Òµç×ÓÕþÎñ¹«Ë¾¹¤×÷ʱ¿ª·¢µÄ£¬ÕâÌ×ϵͳǿ¾ÍÇ¿ÔÚËü²»ÊÇÓ¦ÓÃϵͳ£¬¶øÊÇÒ»¸ö¹¤¾ß£¬¿ÉÒÔÔڴ˹¤¾ß»ù´¡ÉÏ£¬¾¹ý¶þ´Î¿ª·¢£¬ÑÜÉú³öÂú×ãÕþ¸®²¿ÃÅÐÅÏ¢»¯ÐèÇóµÄÓ¦ÓÃϵͳ£¡£¡
Õ ......
µ±ÎÒÃÇÏëÒª´ÓÍøÉÏÏÂÔØÎļþʱ£¬Í¨³£µÄ×ö·¨ÊÇÔÚ·þÎñÆ÷ÉϵÄij¸öĿ¼ÏÂÉú³ÉÒ»¸öÎļþ¡£
protected void DownloadFile(string filename)
{
string saveFileName = "test.xls";
int intStart = filename.LastIndexOf("\\") + 1;
saveFileName = filename.Substring(intStart, filename.Lengt ......
ÔÚ×öasp.netµÄWeb¿ª·¢µÄʱºò£¬ÎÒÃǾ³£»áÓöµ½Ò»´ÎÐÔÉÏ´«¶à¸öÎļþµÄÐèÇó¡£Í¨³£ÎÒÃǵĽâ¾ö·½·¨Êǹ̶¨·Å¶à¸öÉÏ´«Îļþ¿ò£¬ÕâÑùµÄ½â¾ö°ì·¨ÏÔÈ»ÊDz»ºÏÀíµÄ£¬ÒòΪһ´ÎÉÏ´«¶à¸ö£¬¾ÍÒâζ×ÅÊýÁ¿²»È·¶¨¡£Òò´ËÎÒÃǾÍÒªÈÃÕâЩÎļþÉÏ´«¿ò¶¯Ì¬Ìí¼Ó£¬ÏÂÃæÎÒÒÔÎÒ×öµÄÒ»¸öͼ¿â¹ÜÀíÖеÄÉÏ´«Í¼Æ¬µÄ¹¦ÄÜΪÀý
ÏÈ¿´Ð§¹û£º
´ò¿ªµÄ³õʼ½çÃæ£º
ĬÈÏ ......