从/ mypage访问mypage.php只能访问/mypage.php

时间:2013-03-13 16:03:30

标签: php .htaccess php-extension

我正在创建一个php网站,并使用htaccess隐藏这个脚本的php扩展

  Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ /$1.php [L,QSA]

因此,如果我访问localhost/mypage.phplocalhost/mypage,我们都会将我重定向到mypage.php 我希望如果我从/mypage.php访问它,然后将我重定向到我的页面未找到页面 我的意思是用户必须仅从localhost/mypage访问它 任何想法??

2 个答案:

答案 0 :(得分:0)

如果要返回404错误代码并强制将任何PHP请求发送到错误文档

RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule \.php$ - [R=404,L]
ErrorDocument 404 /error_404.html

这会为所有404个请求返回*.php错误代码,并显示/error_404.htmlRewriteCond用于防止已经重写的页面出现错误代码。

答案 1 :(得分:0)

您是否想过使用像Zend这样的框架?我的建议比较复杂,但我知道......

1)该框架将帮助您进行大量的开发。 2)您将能够设置所有类型的路线。 3)没有.php扩展名。 4).htaccess将非常容易维护,您将使用标准的框架之一。

感谢。