Php Web服务器如何“忽略”URI组件?

Php Web服务器如何“忽略”URI组件?,php,asp.net,Php,Asp.net,例如,加载以下链接只需重新加载页面并删除无关的扩展名: http://stackoverflow.com/questions/6718602/how-does-stackoverflow-and-other-sites-remove-file-extensions-for-webpages.abc123在apache服务器上,您需要.htaccess。谷歌搜索将提供一些关于此问题的好教程。在apache服务器上,您需要.htaccess。谷歌搜索将提供一些关于此问题的好教程重要。对于Apache

例如,加载以下链接只需重新加载页面并删除无关的扩展名:


http://stackoverflow.com/questions/6718602/how-does-stackoverflow-and-other-sites-remove-file-extensions-for-webpages.abc123

在apache服务器上,您需要.htaccess。谷歌搜索将提供一些关于此问题的好教程。

在apache服务器上,您需要.htaccess。谷歌搜索将提供一些关于此问题的好教程重要。

对于Apache:

RewriteEngine On
RewriteBase   /the_directory

RewriteRule  ^(.*).abc123$ $1.php [R=301]
如果您没有访问apache配置的权限,只需使用apache将其添加到名为.htaccess的文件中即可:

RewriteEngine On
RewriteBase   /the_directory

RewriteRule  ^(.*).abc123$ $1.php [R=301]

如果您没有访问apache配置的权限,只需将其添加到名为.htaccess的文件中即可。。。。。我不知道stackoverflow是如何构建的,但许多Web服务器不再使用目录和文件结构,而是使用有效解码字符串的代码将http请求路由到基于URI的资源。我怀疑6718602是页面URI中唯一重要的东西,它加载了相应的问题。

URI只是一个字符串。。。。。我不知道stackoverflow是如何构建的,但许多Web服务器不再使用目录和文件结构,而是使用有效解码字符串的代码将http请求路由到基于URI的资源。我怀疑6718602是页面URI中唯一重要的东西,它加载了相应的问题。

如果我没记错的话,StackOverflow使用ASP.Net MVC。路由是ASP.Net MVC不可或缺的一部分-

如果我没记错的话,StackOverflow使用ASP.Net MVC。路由是ASP.Net MVC不可分割的一部分-

有许多方法可以实现这一点,但由于您已经在ASP.Net下对其进行了标记,因此我将仅给出ASP.Net的具体方法

经典ASP.Net-使用HttpModule重写URL: Net MVC-这是为了保持更干净的URL而设计的,因此 提供定义路由的机制: 希望这有帮助


更新:在PHP中,我认为您应该使用mod_rewrite apache模块和.htaccess来定义规则:

有很多方法可以实现这一点,但由于您已经在ASP.Net下对其进行了标记,因此我将仅给出ASP.Net的具体方法

经典ASP.Net-使用HttpModule重写URL: Net MVC-这是为了保持更干净的URL而设计的,因此 提供定义路由的机制: 希望这有帮助


更新:在PHP中,我认为您应该使用mod_rewrite apache模块和.htaccess来定义规则:

是的,刚刚选中,stackoverflow甚至没有使用漂亮的文本问题-这只是为了让您和我有一个漂亮的URL来阅读。它只是基于问题的路由/6718602。是的,刚刚检查过,stackoverflow甚至没有使用好的文本问题-这只是为了让你和我有一个好的URL阅读。它只是基于问题的路由/6718602。我认为OP使用了不同的文件扩展名。我认为OP使用了不同的文件扩展名。Nooooooo,php请笑。谢谢大家,谢谢Ray编辑我的帖子,现在我知道了搜索google的正确术语。当然了,谢谢大家,谢谢Ray编辑我的文章,现在我知道了搜索google的正确术语。当然是php