2012-03-29 111 views
1

我一直在尝试在.htm或.html扩展名的文档中执行php代码。我终于得到它的工作使用:htaccess修改在一些页面上工作,但不在其他人上?

将AddType应用/ X的httpd - PHP .PHP的.html的.htm

现在,能够为.htm文件中执行PHP,只要我直接去工作该.htm页例如:http://www.foobar.com/layout.htm

但是,如果我去哪个使用该版式.htm页面index.php页面它不工作...

这是一个什么样的一个例子索引页网址如下所示:http://www.foobar.com/index.php

我在做什么错?

+0

您如何*完全使用*页面? – jeroen 2012-03-29 14:00:19

+0

布局页面在花括号中包含{HEADER}和其他类似名称的标签。我不是很熟悉使用...除了它是一个正常的HTML/CSS页面。我知道如果我将html添加到layout.htm文件中(不使用任何php),它会显示在index.php页面上。但是,如果我通过使用php修改布局页面,那么只有直接进入layout.htm页面但不会出现在index.php页面上时,才会显示更改。 – CSoverIT 2012-03-29 14:07:13

+0

您需要发布*使用* htm文件的php代码部分。 – jeroen 2012-03-29 14:09:04

回答

1

假设您在php文件中使用类似include的文件来包含html文件,您的.htaccess规则不会对包含的文件产生任何影响。

.htaccess规则只对apache web服务器发出的请求执行,当你在php中包含本地文件时,你只是在本地文件系统上请求一个文件;你不是通过Apache请求它。

编辑:根据您的问题下面的评论,也有可能您使用类似readfile来获取htm文件的内容。如果是这种情况,则需要将其更改为include,以便执行php。

+0

我正在使用php包含函数。 – CSoverIT 2012-03-29 14:13:14

1

您的.htaccess规则不适用于php中的包含文件。

你检查这页:http://php.net/manual/en/function.include.php

当一个文件被包括在内,在目标文件的开头解析滴了PHP模式并进入HTML模式,并在结尾处恢复。因此,目标文件中应该作为PHP代码执行的任何代码都必须包含在有效的PHP开始和结束标记中。

相关问题