Having URL without .aspx extension

2019-02-04 23:43发布

问题:

I noticed a lot of ASP .Net sites does not have the URL ending with ".aspx".

An example would be: - https://stackoverflow.com/questions

Did they create a Questions folder and put a Default.aspx inside?

In that case, wouldn't there be A LOT of default.aspx in many folders which is hard to maintain (even though it is user-friendly)?

Thanks y'all.

回答1:

StackOverflow is written using ASP.NET MVC. The MVC framework does not use .aspx files.

The way it works internally is by using routing tables - see an overview here.

You can also do this with ASP.NET and .aspx files or you can use URL rewriting. You can read about the differences here.



回答2:

You can refer to any URL rewriter or a routing technique for that. If you look at the new AS{.NET MVC, it works on that model only.



回答3:

You can use Url Rewriter to remove extensions from the urls of your website.



回答4:

ASP.net has a routing framework you can use even if you are not using ASP.net MVC

Official documentation: http://msdn.microsoft.com/en-us/library/cc668201.aspx

Also as previously stated ASP.net MVC works like this out of the box and you can also use URL Rewriting



回答5:

With ASP.NET 4.0, you get the benefits of URL routing (nice, clean URLs) with ASP.NET webforms, too — see:

  • Routing for Web Forms in ASP.NET 4.0
  • URL Routing with ASP.NET 4 Web Forms (VS 2010 and .NET 4.0 Series)

Basically, what you do is define a route like

/question/{id}  or  /question/{title}

and you then define what ASPX page this is being routed to. Quite nifty!



标签: asp.net url