删除特定URL的HTML扩展名而不重定向

时间:2013-12-06 16:15:16

标签: regex apache .htaccess mod-rewrite

是否可以在不执行301重定向的情况下删除或隐藏单个URL的.html?我遇到的所有示例都涉及重写所有URL和某种重定向。

我想重写以下网址:

http://www.somesite.com/literature.html

http://www.somesite.com/literature

所有其他网址都不受影响,并呈现.html

2 个答案:

答案 0 :(得分:2)

你可以创建一个像这样的目录

/literature/index.html

并将literature.html移动到该子目录中的index.html,并且url / literature应该使用默认页面index.html

你可以用PHP或其他服务器端语言来做,但这看起来不像你要的那样。

答案 1 :(得分:2)

将此简单规则放在DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteRule ^(literature)/?$ /$.html [NC,L]

参考:Apache mod_rewrite Introduction

当您在浏览器中打开http://www.somesite.com/literature.html时,这将在内部加载http://www.somesite.com/literature