如何从IIS中的URL中删除.aspx? 我需要这个用于搜索引擎优化的目的,如果有人有想法那么请指导我。
答案 0 :(得分:0)
要执行此操作,您需要重写URLS。我没有亲自完成,所以无法提供任何样品。但网上有大量的例子。
以下是我发现的一个简单示例:ASP.NET rewriting URLs
答案 1 :(得分:0)
查看使用System.Web.Routing RouteCollection。您在应用程序启动时设置了一系列规则(即从global.asax Application_Start调用)。您可以将无扩展名网址映射到您网站中的实际网页,并处理网页中的网址参数。
在global.asax中: -
using System.Web.Routing;
。 。
RouteCollection routes = RouteTable.Routes;
// simple route that maps /index to /index.aspx
routes.MapPageRoute("home", "index", "~/index.aspx");
// more complex route that handles parameters
routes.MapPageRoute("products-category",
"products/{main-category}/{category}",
"~/pages/product-landing.aspx");
要处理页面中的网址参数(第二个示例): -
using System.Web.Routing;
。 。
protected override void OnLoad(EventArgs e)
{
if (!Page.IsPostBack)
{
string mainCategory = string.Empty,
subCategory = string.Empty;
if (RouteData.Values["main-category"] != null)
{
mainCategory = RouteData.Values["main-category"].ToString();
}
if (RouteData.Values["category"] != null)
{
subCategory = RouteData.Values["category"].ToString();
}
// and then do what you need to with those parameters..
因此,在此示例中,如果有人请求http://yoursite.com/products/animals/monkeys/
,那么您的main-category
将是 animals ,而category
将是 monkeys 。
答案 2 :(得分:0)
这可能是实现它的另一种方式。将其添加到web.config的处理程序部分
<add
name="ExtensionlessUrl-ISAPI-4.0_32bit"
path="*."
verb="GET,HEAD,POST,DEBUG"
modules="IsapiModule"
scriptProcessor="%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness32"
responseBufferLimit="0" />
<add
name="ExtensionlessUrl-ISAPI-4.0_64bit"
path="*."
verb="GET,HEAD,POST,DEBUG"
modules="IsapiModule"
scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness64"
responseBufferLimit="0" />
<add
name="ExtensionlessUrl-Integrated-4.0"
path="*." verb="GET,HEAD,POST,DEBUG"
type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0" />