【发布时间】:2014-08-18 18:37:35
【问题描述】:
我有我的查询字符串来包含我的页面,在我的主页中,如下所示,它工作正常,我包含我的页面很好。
但是发生了一些错误,我不知道如何解决这个问题。
我将尝试用一个例子来解释我的问题: 我有一个文件夹“teachers”,里面有两个 pdf 文档和一个页面“documents.php”。 要访问此文档页面,我正在访问:“htp://localhost/website/teachers/documents”,它工作正常。
但如果我访问“htp://localhost/website/teachers/”,我可以访问我的 pdf 文档和我的页面,如下图所示。
但我不想要这个,我想要那个如果某些用户尝试访问“htp://localhost/website/teachers/”,我想包含我的 404 文件 (require_once('inc/404.php');)
我的查询字符串:
@$url = $_GET['url'];
$url = explode('/', $url);
$url[0] = ($url[0] == NULL ? 'index' : $url[0]);
if(file_exists('inc/'.$url[0].'.php')){
require_once('inc/'.$url[0].'.php');
}
elseif(file_exists($url[0].'/'.$url[1].'/'.$url[2].'.php')){
require_once($url[0].'/'.$url[1].'/'.$url[2].'.php');
}
elseif(@file_exists($url[0].'/'.$url[1].'.php')){
require_once($url[0].'/'.$url[1].'.php');
}
else{
require_once('inc/404.php');
}
你看到我做错了什么没有得到我想要的结果吗?
我的 htaccess 文件:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1
【问题讨论】:
-
htp://localhost/website/teachers/documents如何将您带到任何地方?如图所示,教师文件夹内没有文件夹。 -
我不知道我是否清楚地理解了您的问题,但是,我的网站文件夹中有一个文件夹教师。在老师里面我有我的documents.php文件,所以当我访问“localhost/website/teachers/documents”时,我正在访问我的文档页面......
-
我是这样访问的,因为我的htacesss文件,所以我不使用documents.php文件,但documents不是文件夹,它是一个php文件,我的文档页面......
标签: php .htaccess mod-rewrite include