首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache .htaccess

Apache .htaccess
EN

Stack Overflow用户
提问于 2010-05-30 23:01:58
回答 3查看 2.5K关注 0票数 0

我遇到了访问htaccess的问题。

我的目录结构如下所示:

代码语言:javascript
复制
/
HEADER.html
README.html
/stackoverflow/
/stackoverflow/.htaccess

.htaccess

代码语言:javascript
复制
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,这很好用。

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

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

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

如果我尝试添加AddType...对于/.htaccess (而不是/stackoverflow/.htaccess),它会覆盖我的/stackoverflow/.htaccess规则。为什么?如何将AddType规则添加到我的/stackoverflow/.htaccess中,以便将Apache parse html文件作为php文件?

EN

回答 3

Stack Overflow用户

发布于 2010-05-30 23:21:26

您的PHP解析器将忽略.html文件,因为它的设计。.html应该呈现为not processed,如果你想在你的头文件中添加额外的逻辑,你必须将它转换为.phtml.php。您也可以创建一个新的头文件,然后只包含html。

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

票数 1
EN

Stack Overflow用户

发布于 2010-05-30 23:39:21

代码语言:javascript
复制
HeaderName /HEADER.php  
AddType text/html .php  
<Files "*.php">  
  AddHandler application/x-httpd-php .php  
</Files> 
票数 0
EN

Stack Overflow用户

发布于 2010-05-30 23:51:00

.htaccess文件会影响它所在的目录和所有子目录。它不能对树中它上面的目录做任何事情。有关更多详细信息,请查看htaccess docs

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2939129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档