首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从URL中删除.html?

如何从URL中删除.html?
EN

Stack Overflow用户
提问于 2011-04-20 20:16:34
回答 10查看 306K关注 0票数 146

如何从静态页面的URL中删除.html

此外,我需要将任何带有.html的url重定向到没有它的url。(即从www.example.com/page.htmlwww.example.com/page )。

EN

回答 10

Stack Overflow用户

发布于 2011-04-20 20:19:21

在apache下的.htaccess中,你可以这样做重定向:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301] 

至于从url中删除.html,只需链接到没有.html的页面

代码语言:javascript
复制
<a href="http://www.example.com/page">page</a>
票数 74
EN

Stack Overflow用户

发布于 2012-08-05 08:38:40

这对你来说应该是可行的:

代码语言:javascript
复制
#example.com/page will display the contents of example.com/page.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ $1.html [L,QSA]

#301 from example.com/page.html to example.com/page
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule ^(.*)\.html$ /$1 [R=301,L]
票数 74
EN

Stack Overflow用户

发布于 2014-06-29 20:05:39

您需要确保您也安装了Options -MultiViews

以上这些都不适合我在标准cPanel主机上使用。

这是可行的:

代码语言:javascript
复制
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5730092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档