Repl.it托管网站:如何将URL从带.html后缀改为无后缀?
解决Repl.it托管网站URL去除文件后缀的问题
你当前的.htaccess已经实现了访问无后缀URL时自动映射到对应带后缀文件的功能,但还需要添加重定向规则,让用户访问带后缀的URL(比如https://example.com/file.html)时自动跳转到无后缀版本(https://example.com/file),完整的配置如下:
RewriteEngine On # 重定向带后缀的URL到无后缀版本 RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+)\.(html|htm|asp|aspx)\s [NC] RewriteRule ^ /%1 [R=301,L] # 无后缀URL映射到对应带后缀文件 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^(.*)$ $1.html [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.htm -f RewriteRule ^(.*)$ $1.htm [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.asp -f RewriteRule ^(.*)$ $1.asp [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.aspx -f RewriteRule ^(.*)$ $1.aspx [L]
规则说明:
- 第一部分的重定向规则通过
%{THE_REQUEST}捕获原始请求中的带后缀路径,将其重定向到去掉后缀的版本,R=301表示永久重定向,有利于搜索引擎收录。 - 保留了你原有规则中无后缀URL映射到对应文件的逻辑,同时移除了重复的
RewriteEngine On(只需声明一次即可)。
注意:在Repl.it中确保你的项目支持.htaccess配置,部分静态站点环境默认已支持该配置。
内容的提问来源于stack exchange,提问作者Hollo
相关产品推荐
相关产品推荐

