我正在通过.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。
htaccess的:
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
答案 0 :(得分: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
答案 1 :(得分:0)
我不是100%肯定你的问题,但听起来你正在寻找你当前所在页面的URL /目录,而不是标题目录?
怎么样:
$_SERVER['PHP_SELF'];
$_SERVER['REQUEST_URI'];
$_SERVER['SCRIPT_NAME'];
$_SERVER['SCRIPT_FILENAME'];
$_SERVER['DOCUMENT_ROOT'];
这些都提供有关服务器根据收到的HTTP请求打开的当前文件的信息。