1

不确定这是否可能。我想找出服务器的默认页面值是什么,所以如果它设置为“index.htm”或“index.php”然后返回。它适用于我正在开发的网络应用程序;用户已经提供了他们的 FTP 详细信息和网站 URL(这也可以自动计算出来吗?),但是我需要自动确定它们的默认页面是什么。

我想可能会根据 URL 返回的页面检查 FTP 目录中的文件以查看它们是否匹配,但这似乎有点矫枉过正。

提前致谢,如果我没有提供足够的信息,请告诉我。

4

3 回答 3

2

如果 php 专门作为 apache 模块运行,则 php 脚本可以执行子请求并让 apache 为您解析。

http://www.php.net/manual/en/function.apache-lookup-uri.php

虽然是常见的组合,但它只是众多 webserver+php 配置组合中的一种。

print_r(apache_lookup_uri('/'));
于 2012-06-02T20:25:36.080 回答
1

我不相信这是可能的。

因为(如此处指定)人们可以设置自己的自定义默认索引。您当然可以寻找 default.* 和 index.* (我相信 default 会覆盖 index),但这不会捕获边缘情况(如自定义目录索引)。

于 2012-06-02T20:48:37.583 回答
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>';
?>
于 2012-06-02T21:49:38.810 回答