【发布时间】:2014-09-23 23:46:00
【问题描述】:
我无法让我的 htaccess 文件隐藏所有文件扩展名(在我的情况下为 html 和 php)。
如果我输入“example.com/home.html”,
我希望在地址栏中显示“example.com/home”。
这是否可以在不将我的 html 代码更改为 'href="/home" ' 的情况下使用 htaccess 来实现?
提前致谢。
【问题讨论】:
标签: .htaccess
我无法让我的 htaccess 文件隐藏所有文件扩展名(在我的情况下为 html 和 php)。
如果我输入“example.com/home.html”,
我希望在地址栏中显示“example.com/home”。
这是否可以在不将我的 html 代码更改为 'href="/home" ' 的情况下使用 htaccess 来实现?
提前致谢。
【问题讨论】:
标签: .htaccess
试试:
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+(.+)\.html(\?\ )
RewriteRule ^ /%1 [L,R=301]
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.*)$ /$1.html [L]
在文档根目录的 htaccess 文件中。
【讨论】:
搜索了一些,发现您已经在另一篇文章中提供了解决方案。
# browser requests html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.html
RewriteRule ^/?(.*)\.html$ /$1 [L,R=301]
# check to see if the request is for a html file:
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^/?(.*)$ /$1.html [L]
【讨论】:
.php 扩展?