从URL中删除扩展名(.htaccess)

问题描述:

我试图从URL中删除扩展名。从URL中删除扩展名(.htaccess)

我在.htaccess文件中实现了一个代码,然后从站点页面中删除了所有扩展。这样,我可以在一定程度上实现我的目标;而留在网站上,如果我点击任何网址,它会带我到相关页面而不显示扩展名。

但是,如果我通过在URL中输入扩展名手动访问URL,它会再次显示页面,但我不想那样做。

例如,如果我在网址中手动键入website.com/page.html,它应该自动将我重定向到website.com/page

我该写什么.htaccess

+4

你能发表你迄今为止写的重写规则吗? – wanjarisushil

+0

我已经清理了这个问题的语法和格式。按照第一条评论的要求,您可以通过添加您当前的规则来进一步改进它。 –

谢谢!这是我所提供的。

#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] 

它工作得很好。