2011-03-21 212 views
1

我前一段时间为一家公司构建了一个网站,它的页面主要是用html几个php页面来支持一些动态内容。将PHP添加到.html页面

该公司现在需要在其index.html页面上的动态内容,虽然我在印象之下,我可以打开一些标准的PHP标签,添加我的PHP的行,然后走开,看起来并非如此和我的PHP不会运行。

任何人都可以解释什么是为了让我的PHP代码在.html页面中运行所需?

感谢,强尼

+1

你需要把它保存为.php吗?你不能只是改变文件扩展名? (index.php)?它仍然应该显示为文件夹的默认页面 – kieran 2011-03-21 13:37:11

+0

是的,我需要保持它.html – Cliftwalker 2011-03-21 13:38:33

+0

PHP脚本 - 甚至一些标准的PHP标记 - 通常运行在* .php文件 – bensiu 2011-03-21 13:38:43

回答

4

服务器需要被告知通过运行PHP引擎的文件。

这通常通过给文件.php扩展名来完成。

您也可以将服务器配置为通过PHP传递以外的其他文件扩展名或特定的文件的文件,但如何做到这一点取决于服务器(和服务器配置的问题,而不是编程)。

+0

看来,如果我使用的是Apache,我将能够配置服务器来解析HTML文件中的PHP,但是我不是这样的,除了重命名.html之外,它看起来像我可以做的任何事情。 PHP。 – Cliftwalker 2011-03-22 19:07:37

+0

这听起来不太可能,但不幸的是,“不是Apache”留下了很多可能性。 – Quentin 2011-03-23 00:06:32

0

我认为有问题的服务器已经安装了PHP,因为你说你有PHP的网站的其他地方。

您是否将HTML页面保存为PHP页面,即.php扩展名?

+0

不,我需要把它保存为一个.html页面 – Cliftwalker 2011-03-21 13:39:07

0

如果服务器安装了PHP模块,你可以配置Web服务器通过PHP模块来处理.html文件。 (随着AddHandler为如Apache)

否则,重命名文件以.PHP,并有一些奇特的URL重写,使他们能够通过html的调用。

0

最简单的方法是将它们命名.PHP,但如果你需要将它们留做html的,你可以在服务器上使用的现代重写允许的.html链接是完全有效的。

更新:作为Windows Server上的,你可以用这个包http://www.seoconsultants.com/windows/isapi/允许的URL重写。从我可以收集的内容来看,它和Mod_Rewrite非常相似。

+0

这听起来很可能,我托管在启用了PHP5的Windows服务器上,关于如何实现这一点的任何想法? – Cliftwalker 2011-03-21 13:41:39

+0

使用URL替代品。你运行的是Apache还是IIS,如果你运行的是Apache,那么google mod_rewrite如果你在IIS上看这个http://www.motobit.com/help/url-replacer-rewriter/iis-mod-rewrite.asp – 2011-03-21 13:44:10

+0

@ Jakub's答案几乎与我的方法完全相反,但原理仍然以任何方式。 – 2011-03-21 13:47:52

1

你有两个选择,以得到你需要去:

  1. 使用.htaccess的重写html的结局到.PHP
  2. 让.html文件的PHP代码

对于可用过程的缘故,和易于支持我会做第一,这里有两个解决方案:

mod-rewrite(.htaccess文件),你将需要对所有的.html文件等效的.php文件。

RewriteEngine on 
RewriteRule ^(.*)\.html $1\.php 

添加到您的Apache的配置文件:

AddHandler application/x-httpd-php .php .html .htm 
0

把重定向index.html中 代码重定向到名为.php的扩展名的文件,并把所有的index.html材料那儿,不管你想添加的附加代码。

所以当有人到达index.html时,他们会被带到假设home.php的index.html内容将停留在哪里,您的动态代码。

这是最简单的解决方案,如果你不能改变index.html index.php。