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
访问它
任何想法??
答案 0 :(得分:0)
如果要返回404错误代码并强制将任何PHP请求发送到错误文档
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule \.php$ - [R=404,L]
ErrorDocument 404 /error_404.html
这会为所有404
个请求返回*.php
错误代码,并显示/error_404.html
。 RewriteCond
用于防止已经重写的页面出现错误代码。
答案 1 :(得分:0)
您是否想过使用像Zend这样的框架?我的建议比较复杂,但我知道......
1)该框架将帮助您进行大量的开发。 2)您将能够设置所有类型的路线。 3)没有.php扩展名。 4).htaccess将非常容易维护,您将使用标准的框架之一。
感谢。