当 URL 上没有指向文件时,任何人都可以帮助如何显示错误页面而不是显示我的文件的目录吗?例如,在附图中,我只需删除 thefile.php 并在浏览器上输入 URL,如 www.mywebsite.com/foldername/ 而不是 www.mywebsite.com/foldername/thefile.php ,它会显示所有内容该文件夹下的文件。我希望它将用户重定向到错误页面,而不是显示此文件夹中的所有文件。
一种方法是在该文件夹中创建一个 index.php 文件,其内容如下:
<?php
$dir = "."; // the directory you want to check
$exclude = array(".", "..", "index.php"); // ignore . .. and file itself
$files = scandir($dir);
$files = array_diff($files, $exclude); // delete the entries in exclude array from your files array
if(!empty($files)) {
echo "there are files";
}
else
{
header("Location: /404.php");
}
?>
当你访问http://url/folder时,index.php是默认加载的php文件,所以如果文件夹中除了index.php文件之外没有其他文件,就会显示404页面(你必须替换/404.php 页面以及您用于处理 404 错误的任何页面)
我想你也可以使用 .htaccess 中的一些正则表达式来做到这一点