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

时间:2016-12-05 06:45:54

标签: php .htaccess url-rewriting url-redirection

我正在尝试从网址中删除扩展程序。

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

但是,如果我通过在URL中键入扩展名来手动访问URL,它会再次显示该页面,但我不希望这样。

例如,如果我在网址中手动输入website.com/page.html,则会自动将我重定向到website.com/page

我应该在.htaccess写一下什么?

1 个答案:

答案 0 :(得分: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]

它工作得很好。