例如,加载以下链接只需重新加载页面并删除无关的扩展名:
http://stackoverflow.com/questions/6718602/how-does-stackoverflow-and-other-sites-remove-file-extensions-for-webpages.abc123
答案 0 :(得分:3)
有很多方法可以实现,但是既然你已经在ASP.Net上标记了它,我将仅为ASP.Net提供具体的方法。
HttpModule
重写网址:
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx routes
的机制:
http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx 希望这有帮助。
更新:在PHP中,我认为您使用mod_rewrite
apache模块和.htaccess
来定义规则:http://www.cyberdesignz.com/blog/website-design/url-rewriting-top-5-ways-of-php-url-rewriting/
答案 1 :(得分:1)
如果我没记错,StackOverflow使用ASP.Net MVC。路由是ASP.Net MVC的一个组成部分 - here's a quick overview
答案 2 :(得分:0)
答案 3 :(得分:0)
使用Apache:
RewriteEngine On
RewriteBase /the_directory
RewriteRule ^(.*).abc123$ $1.php [R=301]
如果您无权访问apache配置,只需将其添加到名为 .htaccess 的文件中
答案 4 :(得分:0)
URI只是一个字符串.....我不知道具体如何构建stackoverflow,但许多Web服务器不再使用目录和文件结构 - 但是将http请求路由到基于URI的资源使用有效解码字符串的代码。我怀疑6718602是页面URI中唯一重要的东西,它会加载相应的问题。