1

我正在通过 .htaccess 文件中包含的 header.php 文件来设置 apache 索引的样式。我说得很好,但我需要从 URL 中检索当前页面标题。所有 php 引用都指向我的解决方案,这些解决方案可用于获取“当前页面”,即包含的 php 文件本身,而不是其索引的目录。

使用这个可行,但会调出 header.php:

$current_folder = basename(dirname(__FILE__));

关于如何解决这个问题的想法?

编辑:文件夹结构是这样的,如果它有助于更​​有意义:

/
    /includes/header.php
    /dir/directory_that_I_want_the_name_of/

.htaccess 为每个目录索引拉入 header.php,所以我需要知道如何获取当前目录名称,而不是 header.php 所在的位置,在我的示例中,它与 /includes/ 或 header.php 一起返回已经找到了。我需要获取 directory_that_I_want_the_name_of。

.ht 访问:

Options +Indexes
IndexOptions FancyIndexing
IndexOptions FoldersFirst IgnoreCase XHTML NameWidth=*
IndexOptions SuppressHTMLPreamble SuppressRules HTMLTable
IndexOptions IconHeight=16 IconWidth=16
IndexOptions SuppressDescription

HeaderName includes/header.php
ReadmeName includes/footer.html
4

2 回答 2

1

我刚刚重新创建了所有这些设置,并且能够使用以下方法获取基本目录名称:

echo basename($_SERVER["REQUEST_URI"]);

/includes/header.php.

确保您的 .htaccess 代码如下所示:

Options +Indexes
IndexOptions FancyIndexing
IndexOptions FoldersFirst IgnoreCase XHTML NameWidth=*
IndexOptions SuppressHTMLPreamble SuppressRules HTMLTable
IndexOptions IconHeight=16 IconWidth=16
IndexOptions SuppressDescription

AddType text/html .php
Addhandler application/x-httpd-php .php

HeaderName /includes/header.php
ReadmeName /includes/footer.html
于 2013-09-12T20:03:35.843 回答
0

我不是 100% 确定您的问题,但听起来您正在寻找您当前所在页面的 URL/目录,而不是标题的目录?

关于什么:

$_SERVER['PHP_SELF'];
$_SERVER['REQUEST_URI'];
$_SERVER['SCRIPT_NAME'];
$_SERVER['SCRIPT_FILENAME'];
$_SERVER['DOCUMENT_ROOT'];

这些都根据收到的 HTTP 请求提供有关服务器打开的当前文件的信息。

于 2013-09-12T16:56:45.730 回答