htaccess:将file.php重定向到file.html,同时阻止对file.php的直接访问

时间:2011-06-23 12:40:38

标签: php apache .htaccess mod-rewrite

我想使用.htaccess重写将url help.html重定向到help.php(内部),但与此同时,我想给出404错误消息如果有人试图直接访问help.php

我已经看过很多教程,并且回答了很多问题,但没有解决这个问题。

这可能吗?

修改 对于从外面查看URL的人,他只会看到help.html存在,但不是help.php(即使内部只有help.php存在,但不是help.html):)

3 个答案:

答案 0 :(得分:2)

<Files help.php>
   order allow,deny
   Allow from 127.0.0.1
   deny from all
</Files>
RewriteEngine On
RewriteRule help.html$ help.php [L]

你可能想补充一下 AddType application/x-httpd-php .html使PHP执行现在显示为HTML / TEXT。

编辑: 并且您可以通过添加此ErrorDocument 403 404.php并在该页面中添加404错误HTML代码来给出404错误(因为此htaccess将给出403错误)

答案 1 :(得分:1)

在.htaccess文件中,您可以使用“永久重定向”命令:

Redirect 301 /help.php /help.html

答案 2 :(得分:-3)

在x秒后使用meta标记重定向到help.php(404页面)的help.html页面

<meta HTTP-EQUIV="REFRESH" content="10; url=http://www.yourdomain.com/help.html">