emz*_*ero 1 asp.net iis seo url-rewriting url-routing
所以,我知道这里和互联网上有很多这个主题.但大多数文章/问题都是指"静态"网址重写,如:
www.site.com/products.aspx?category=Books
Run Code Online (Sandbox Code Playgroud)
所以他们把它改写成了
www.site.com/Products/Books
Run Code Online (Sandbox Code Playgroud)
没关系,但我需要别的东西.
该网站就像一个CMS,它有不同类型的内容.
现在,要阅读标题为"StackOverflow如何帮助您进行开发"的文章,您需要转到如下所示的URL.
www.site.com/viewContent.aspx?Id=1234
Run Code Online (Sandbox Code Playgroud)
我想要的是:
www.site.com/Content/Articles/how-to-stackoverflow-helps-you-in-your-development
Run Code Online (Sandbox Code Playgroud)
据我所知,我需要涉及ASP .NET,因为首先我需要检索文章(当然是它的标题),然后重写URL.
但我想知道如果我去那个网址,ASP .NET将如何知道如何获得该文章,它不包括任何地方的ID ...所以也许我可以接受类似的东西
www.site.com/Content/Articles/1234/how-to-stackoverflow-helps-you-in-your-development
Run Code Online (Sandbox Code Playgroud)
我有点迷失在这里..我从来没有做任何URL重写,我已经google了很多,我找不到办法做我想要的.也许我想要的不是叫url重写??? 我不知道...
该站点在Windows 2003 Server,IIS6,ASP .NET 3.5 SP1下运行当然,我需要一个免费的解决方案,不能在ISAPI mod上花费100usd(除了我不知道是否会做我需要的) .
感谢所有人,如果这是一个重复的问题,我很抱歉,但我找不到它.
编辑:我不需要支持nonASP.NET文件(jpgs,gifs等)不需要重写.我只需要重写viewContent页面,将内容标题包含在URL中.
您可以使用ASP.Net 3.5 sp1附带的新路由来获得干净的URL.
这甚至可以在Web表单中完成,而不仅仅是MVC.(我自己做过).有关如何设置的详细信息,请参见此处和此处.
您可以在URL中抛出文章的ID和标题,并使Id成为用于搜索文章的真实参数.这就是SO所做的.尝试删除网址的问题,它会将您带到同一个地方.
即使您不使用Id,您也可以将文章的标题"如何在堆栈中帮助您 - 帮助您在开发中"传递给您的数据库,并根据标题检索文章.
关于IIS 6,它有点棘手,因为默认情况下IIS 6无法处理无扩展URL.
有一些解决方法:
请参阅此帖子了解其他可能的解决方
虽然如果您的站点中的所有内容都通过一个小站点中的Asp.Net(甚至图像,css,.html ...),第一个解决方案可能会出现性能问题,但这并不重要.我使用过这种方法,没有任何重大的性能问题.我认为这是最简单的解决方案.这是我用它建立的网站
我希望这有帮助.
归档时间: |
|
查看次数: |
3145 次 |
最近记录: |