Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache.htaccess_Apache_.htaccess - Fatal编程技术网

Apache.htaccess

Apache.htaccess,apache,.htaccess,Apache,.htaccess,我有一个访问问题 我的目录结构如下所示: / HEADER.html README.html /stackoverflow/ /stackoverflow/.htaccess .htaccess ServerSignature Off Options +Indexes HeaderName /HEADER.html IndexIgnore HEADER.html ReadmeName /README.html IndexIgnore /README.html IndexOptions +Fan

我有一个访问问题

我的目录结构如下所示:

/
HEADER.html
README.html
/stackoverflow/
/stackoverflow/.htaccess
.htaccess

ServerSignature Off
Options +Indexes
HeaderName /HEADER.html
IndexIgnore HEADER.html
ReadmeName /README.html
IndexIgnore /README.html
IndexOptions +FancyIndexing
AddCharset UTF-8 .txt
IndexIgnore *.xml
IndexIgnore *.php
我的主目录是/stackoverflow/,当我通过浏览器导航到此目录时,我在/stackoverflow/下的每个站点/目录中都包含了HEADER.html和README.html,这很好

我在HEADER.html(位于根目录/)中添加了一些php代码,我正在尝试添加到htaccess:

AddType应用程序/x-httpd-php.html.php.htm

我认为这不起作用,因为HEADER.html在根目录中


如果我尝试添加AddType。。。到/.htaccess(而不是到/stackoverflow/.htaccess)它正在覆盖我的/stackoverflow/.htaccess规则。为什么?如何将AddType规则添加到我的/stackoverflow/.htaccess中,以Apache将html文件解析为php文件?

您的php解析器将忽略一个.html文件,因为它是这样设计的
.html
应呈现为未处理状态,如果要向头文件添加其他逻辑,则必须将其转换为
.phtml
.php
。您还可以创建一个新的头文件,其中只包含html

关于
.htaccess
覆盖的问题,apache mod_rewrite就是这样工作的。它是一个分层系统,将加载它遇到的第一个系统,从请求的文件开始/向请求的文件移动。

HeaderName/HEADER.php
HeaderName /HEADER.php  
AddType text/html .php  
<Files "*.php">  
  AddHandler application/x-httpd-php .php  
</Files> 
AddType text/html.php AddHandler应用程序/x-httpd-php.php
一个.htaccess文件会影响它所在的目录和任何子目录。它无法对树中它上面的目录执行任何操作。有关更多详细信息,请查看此

因此,如果希望保留.html扩展名,则必须在根级别“/.htaccess”执行“AddType应用程序/x-httpd-php.html.php.htm”。或者,正如Matt S所建议的,将扩展更改为以PHP处理的内容