我正在重新构建我的私人博客。我现在想使用PHP的主机。但是,我想隐藏.php
扩展名,并使用.html
代替。另一方面,主机需要重写.php
以实际运行脚本。所以我想:将.php重定向到.html,在.htaccess中将.html内部重写为.php
外部重定向一个
.php
到相应.html
URL的任何请求,所以用户不会“看”到PHP URL。在内部将
.html
文件的任何请求重写为.php
文件名以执行实际的PHP脚本。
据我所知,主机使用Apache与mod_rewrite。
基本上我觉得我需要的是:
RedirectEngine On
RedirectMatch 301 ^(.*).php$ $1.html
RewriteRule ^(.*).html$ $1.php [L]
不过,我得到一个无限重定向循环到.html
文件。就好像RewriteRule
再次自动触发RedirectMatch
一样。 我也试过的RewriteRule
,RewriteCond
和RewriteBase
代替RedirectMatch
各种组合,但随后重定向通常去一些主控器内部的目录结构(如/bla/foo/user/xyz/.../file.html
),并RedirectBase
显示没有影响。
任何帮助表示赞赏!