我想将我的url从php extention重写为html。如果该文件不是 发现它应该重定向到某个客户页面(404.php)。
我写了这样的规则:
RewriteEngine on
RewriteRule ^$ front/index.php?query=$1 [NC,L,QSA]
RewriteRule (.*)\.(html) ?page=$1 [L,NC,QSA]
ErrorDocument 404 /expertLocal/?page=404
使用这个我面临这样的问题。 http://somedomain.com/expertLocal/contact.html
它将工作文件因为我有contact.php页面。如果我要写somedomain.com/expertLocal/contactxyz.php然后重定向到404.php页面,但是如果我在地址栏中写http://somedomain.com/expertLocal/contactxyz.html那么它会发出警告而不是404.php页面。
这是因为我使用了自己的框架,在这个结构文件中首先重定向到控制器索引文件,然后在那里包含请求的文件。
include(FRONT_CONTROLLER_PATH . $page . '.php'); like this.
你能帮帮我吗?
提前致谢..
答案 0 :(得分:0)
我不确定您的框架,但检查下面的代码是否有帮助。
$filename = FRONT_CONTROLLER_PATH . $page . '.php';
if (file_exists($filename))
{
include($filename);
}
else
{
// include 404 page here
}