关于ASP.NET访问路径的一个问题!

本人学ASP.NET不久,望大家指点一二。看到过有许多网站的URL地址是这样的。一:http://www.a.com/adfksf-sfkfds-fkfa-fdaf/te... 本人学ASP.NET不久,望大家指点一二。

看到过有许多网站的URL地址是这样的。
一: http://www.a.com/adfksf-sfkfds-fkfa-fdaf/test/a.html
二: http://www.a.com/test/a.html?id=2&name=tst

对于第一种情况:
a.html在服务器上的实际路径是:Site_Root/test/a.html。按理说要访问a.html应该是 http://www.a.com/test/a.html,可在这里这样也能访问,而中间的"adfksf-sfkfds-fkfa-fdaf"却是跟据不同用户的用户访问而不同的,请问这是怎么实现的。

对于第二种情况:
在我印像中可有接收参数并处理的页面只有动态页面吧(比如.aspx).在这里静态页面也接收并处理参数,并且这个静态页面(.html)还可以跟据传递的参数不同页面的内容也不同。这完全是动态页面的功能嘛,怎么静态页面也有这样的功能吗?请问这个功能是怎么实现的!
展开
 我来答
匿名用户
2013-12-28
展开全部
第一种情况:
在Global.asax文件里添加Application_BeginRequest事件处理.
protected void Application_BeginRequest(Object sender, EventArgs e)
{

string oldUrl = HttpContext.Current.Request.RawUrl;

string pattern = @"^/(.+)/test/a.html$";

string replace = "/test/a.aspx?un=$1";

if (Regex.IsMatch(oldUrl, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled))

{

string newUrl = Regex.Replace(oldUrl, pattern, replace, RegexOptions.Compiled | RegexOptions.IgnoreCase);

this.Context.RewritePath(newUrl);

}

}

第二种情况:
在webconfig.xml里面:
<urlMappings enabled="true">
<add url="~/a.html" mappedUrl="~/a.aspx"/>
</urlMappings>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
匿名用户
2013-12-28
展开全部
~/Images/img01.gif:项目所在目录的虚拟路径
/Images/img01:web服务器的虚拟路径
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式