如何将www.example.com/random.php重定向到www.example.com/pages/目录中的随机index.html文件?请注意,index.html文件位于/ pages /中的文件夹内。任何帮助或指导表示赞赏!
答案 0 :(得分:1)
好吧,您可以列出所有这些页面(自动或手动),然后使用随机数选择其中一个。最后,您将位置标题发送到该页面...
这是一个简单的例子:
<?php
define('FILE_PATH_PATTERN', 'pages/*/index.html');
$indexPages = glob(FILE_PATH_PATTERN);
$targetIndex = rand(0, count($indexPages)-1);
$targetPage = &$indexPages[$targetIndex];
header('Location: ' . $targetPage);
结果是位置标头被发送到客户端,转发到目标页面/pages/_some_random_folder_/index.html
。
但请注意,这是值得怀疑的......通常在编写基于php的Web应用程序时,不想要发布内部文件系统层次结构(因为它是内部的)。而是使用中央路由器脚本来响应所有传入请求,并仅传递从某个内部html标记文件读取的内容。
答案 1 :(得分:0)
尝试:
function get_rand_page(){
$dirs=array_filter(glob(__DIR__.'/pages/*'), 'is_dir');//get all the directories in that file.
$rand_dir=$dirs[array_rand($dirs)];//select a random directory name
return $_SERVER['HTTP_HOST']."/pages/".$rand_dir."/index.html";//return random sub-directory as uri
}