Html 以…结尾的网页/

Html 以…结尾的网页/,html,apache,Html,Apache,我有一个网站在Apache上运行,没有域名(它连接到使用我的公共IP)。我有几个页面(例如/Chemistry/),默认页面是index.html,因此当键入MYIP/Chemistry/时,它会转到MYIP/Chemistry/index.html 这很好,但我想知道为什么像这样的网站最后不需要a/呢。如果我使用MYIP/Chemistry,它将不起作用,但对于stackoverflow这样的网站,它们不需要正斜杠。所以我的问题是为什么会这样,我怎样才能让我的网站变成这样?谢谢 在apache

我有一个网站在Apache上运行,没有域名(它连接到使用我的公共IP)。我有几个页面(例如/Chemistry/),默认页面是index.html,因此当键入MYIP/Chemistry/时,它会转到MYIP/Chemistry/index.html


这很好,但我想知道为什么像这样的网站最后不需要a/呢。如果我使用MYIP/Chemistry,它将不起作用,但对于stackoverflow这样的网站,它们不需要正斜杠。所以我的问题是为什么会这样,我怎样才能让我的网站变成这样?谢谢

在apache中使用rewriteUrl模块可以获得相同的结果,它允许您操作(重写)URL:

首先,您必须激活mod_rewrite:

sudo a2enmod rewrite
正在设置.htaccess文件

在站点的路由目录中创建.htacces

 sudo nano /var/www/html/.htaccess
然后添加重写规则并保存:

 RewriteEngine on
 RewriteRule ^(.*)/+$ $1 [R=301,L]

上述规则将删除任何url末尾的所有斜杠

,这与
url重写有关。我们正在查看的页面实际上并不存在。(从某种意义上说,没有.html文件)。整个路径被映射到一个
控制器
,该控制器以内容响应。如果文件存在,请使用文件进行响应。如果文件不存在且路径没有扩展名,则在且仅当具有该名称的目录存在时,以301响应,并追加
/
。重复此过程。您可以在开发人员工具的
网络
窗格中观察此行为。请不要将解决方案添加到您的问题。好的,很抱歉。我不知道这是不允许的。你在用wamp吗?