Url 没有文件扩展名的网页

Url 没有文件扩展名的网页,url,web,file-extension,Url,Web,File Extension,我可以在那个网站上看到url是http://stackoverflow.com/questions/ask。 之后没有文件扩展名,例如,如果ask是一个文件夹,并且在该文件夹中有一个index.aspx,那么它将显示为http://stackoverflow.com/questions/ask/ 他们是怎么做到的?他们如何使扩展消失? 谢谢,Phantom他们正在使用一种叫做重写规则的东西,可能在网站根目录下的.htaccess文件中。他们在.htaccess文件中添加了类似的内容 重写引擎打开

我可以在那个网站上看到url是
http://stackoverflow.com/questions/ask
。 之后没有文件扩展名,例如,如果ask是一个文件夹,并且在该文件夹中有一个index.aspx,那么它将显示为
http://stackoverflow.com/questions/ask/

他们是怎么做到的?他们如何使扩展消失?
谢谢,Phantom

他们正在使用一种叫做重写规则的东西,可能在网站根目录下的.htaccess文件中。他们在.htaccess文件中添加了类似的内容

重写引擎打开#打开重写引擎

重写规则^ask/?$questions.php?questionID={1}[NC,L]

他们是怎么做到的?他们如何使扩展消失

扩展没有消失,但根本没有扩展。在最近(比如15年)的web编程世界中,web应用程序不再是一堆实际文件的实际目录。Web应用程序现在有许多不同的体系结构并应用许多模式。Web服务器还可以通过URL重写扩展提供这样的功能。两者通常也结合在一起

实现这一点的最常见模式是。这个想法是所有的请求都到一个入口。然后,该入口点可以决定执行哪个代码来生成输出。在大多数MVC框架中,前端控制器名称后的URI(通常是index.php)用于确定要调用哪个控制器类和控制器方法,尽管现在它们通常是可配置的

http://stackoverflow.com/questions/ask
,一种可能的方案是:

  • Web服务器将URL重写为
    http://stackoverflow.com/index.php/questions/ask
  • php作为前端控制器,然后分析其名称后的URI段,即
    /questions/ask
  • 然后,它构造类
    questions
    的一个实例,并调用其
    ask
    方法
  • 该方法生成输出,然后作为请求的响应发送回

  • 你问的是?我问他们是怎么做到的?可能是重复的谢谢你的回答。你能解释一下重写规则是怎么说的吗?谢谢你的回答。我现在明白这个话题了,谢谢!