2011-03-21 141 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。