不确定这是否可行。我想找出服务器的默认页面值是什么,所以如果它被设置为“index.htm”或“index.php”,那么返回它。这是我正在开发的网络应用程序;用户提供了他们的FTP详细信息和网站URL(这可以自动计算吗?),但我需要自动确定他们的默认页面是什么。
我想到可能会检查FTP目录中的文件与URL返回的页面是否匹配,但看起来有点过分。
提前致谢,如果我没有提供足够的信息,请告诉我。
答案 0 :(得分:2)
如果php专门作为apache模块运行,那么php脚本可以执行子请求,让apache为你解决它。
http://www.php.net/manual/en/function.apache-lookup-uri.php
虽然是常见的组合,但它只是众多webserver + php配置组合中的一种。
print_r(apache_lookup_uri('/'));
答案 1 :(得分:1)
我不相信这是可能的。
因为(as specified here)人们可以设置自己的自定义默认索引。您当然可以查找默认值。*和index。*(我相信默认覆盖索引),但这不会捕获边缘情况(如自定义目录索引)。
答案 2 :(得分:0)
这将为您提供域名以及所有index。*和default。*文件的数组,文件类型为值,文件路径为键。
<?php
$domain_name = $_SERVER['HTTP_HOST'];
echo $domain_name.'<br/>';
$files = glob($_SERVER['DOCUMENT_ROOT'].'/index.*');
$files = array_merge($files, glob($_SERVER['DOCUMENT_ROOT'].'/default.*'));
$indexes = array();
foreach($files as $index)
{
$index_info = pathinfo($index);
$indexes[$index_info['dirname'].'/'.$index_info['basename']] = $index_info['extension'];
}
echo $_SERVER['DOCUMENT_ROOT'].'</br>';
echo '<pre>'; print_r($indexes); echo '</pre>';
?>