Html 如何在没有任何文件扩展名的情况下获取用户友好的URL?

Html 如何在没有任何文件扩展名的情况下获取用户友好的URL?,html,url,web,webserver,Html,Url,Web,Webserver,很长一段时间以来,我一直在想,人们是如何在没有文件扩展名的情况下(比如“.html”或“.apsx”)让自己的URL正常工作的 请查看此网站,例如: http://www.axongarside.com/Communication http://www.axongarside.com/Communication/Compleat http://www.axongarside.com/Brand http://www.axongarside.com/Brand/K3-Group 他们是如何做到这

很长一段时间以来,我一直在想,人们是如何在没有文件扩展名的情况下(比如“.html”或“.apsx”)让自己的URL正常工作的

请查看此网站,例如:

http://www.axongarside.com/Communication
http://www.axongarside.com/Communication/Compleat
http://www.axongarside.com/Brand
http://www.axongarside.com/Brand/K3-Group
他们是如何做到这一点的?我能想到的唯一方法是为每个页面创建一个新目录,并在每个目录中有一个索引页面,但这对于一个更大的网站来说是一个巨大的麻烦。还有别的办法吗


谢谢

如果您使用的是Apache,您可以使用.htaccess文件删除.html扩展名,如下所示:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301] 
要从url中删除.html扩展名,只需链接到不带.html的页面

<a href="http://www.mysite.com/page">linkhere</a>

如果您使用的是Apache HTTP服务器,则应检查其功能。
IIS还具有类似的URL重写功能

最常见的三种方法是:

  • 使用索引页(即,只需创建一个目录并在其中放入
    index.html
    文件)
  • 使用重写引擎(如Apache)将URL映射到不同的文件上(这是PHPLAND中常见的方法)
  • 使用前端控制器脚本为您处理URL(这是MVC框架的常用方法)
后一种方法将在Apache服务器配置中使用如下内容:

WSGIDaemonProcess example processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup example
WSGIScriptAlias / /hosts/example.com/application/wsgi.py

对于分别使用WSGI(Python)或FastCGI(跨语言,该特定示例是从我正在编写的Perl应用程序中抄袭而来)的脚本

URL格式将由脚本本身处理,不同的框架采用不同的方法解决这个问题

在Catalyst中,这是通过

舞者有自己的风格

Web::简单使用


Django使用

Url重写、ASP.NET路由等。您的Web服务器、应用程序等使用哪种软件?Url重写-使用Url重写模块,检查以下问题:这称为Url重写。这是一个将服务器配置为在URL与特定模式(例如,
product.aspx)匹配时启动文件的过程http://example.com/products/
。而且目录/页面不必实际存在。谢谢大家!你帮了大忙
SetHandler fcgid-script
Alias / /hosts/example/application.fcgi/