所有(子)目录的索引都相同吗?

所有(子)目录的索引都相同吗?

我想知道是否可以编写一些 .htaccess 页面,使服务器使用单个目录中的 index.php 文件作为服务器上每个目录/子目录的索引文件,而不是将完全相同的 index.php 放在 200 多个目录中。如果我的描述不清楚,我的意思基本上是:/files/index.php 将用作例如 /files/morefiles 的索引,以及 /files/ 内所有目录和子目录的索引,即使这些目录本身没有索引文件。提前感谢大家。

编辑:php 文件根据目录生成不同的输出;具体来说,如果设置了某个 cookie,它会列出当前目录的内容。因此,不幸的是,URL 重写不起作用。

答案1

只是改写每个以 结尾的路径都指向/index.php。

类似这样的:

RewriteBase /files
RewriteRule /$ index.php

答案2

最简单的方法是在“主”目录中使用简单的 .htaccess:

RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^(*.)$ index.php [QSA]

RewriteRule (^|/)?index.php index.php [QSA]

如果需要切换工作目录,在index.php中:

<?php
   chdir(realpath(dirname($_SERVER['DOCUMENT_ROOT'].parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH))));
?>

如果您仍在 /files 目录或更低目录中,可能会进行一些检查。

相关内容