我创建了一个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.php
或localhost/mypage
都将我重定向到mypage.php
我想如果我从/mypage.php
访问它,然后将我重定向到我的页面未找到页面我的意思是用户只能从localhost/mypage
访问它有什么想法吗??
如果您想返回404错误代码并强制任何PHP请求到错误文档
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule .php$ - [R=404,L]
ErrorDocument 404 /error_404.html
返回所有*.php
请求的404
错误码,并显示/error_404.html
。RewriteCond
用于防止已经重写的页面出现错误代码。
有没有想过使用Zend这样的框架?我的建议更复杂,我知道但是....
1)该框架将对您的开发有很大帮助。2)你将能够设置所有类型的路由。3)不会有。php扩展名。4) .htaccess将非常容易维护,你将使用标准的框架之一。
谢谢。