我前一段時間爲一家公司構建了一個網站,它的頁面主要是用html幾個php頁面來支持一些動態內容。將PHP添加到.html頁面
該公司現在需要在其index.html頁面上的動態內容,雖然我在印象之下,我可以打開一些標準的PHP標籤,添加我的PHP的行,然後走開,看起來並非如此和我的PHP不會運行。
任何人都可以解釋什麼是爲了讓我的PHP代碼在.html頁面中運行所需?
感謝,強尼
我前一段時間爲一家公司構建了一個網站,它的頁面主要是用html幾個php頁面來支持一些動態內容。將PHP添加到.html頁面
該公司現在需要在其index.html頁面上的動態內容,雖然我在印象之下,我可以打開一些標準的PHP標籤,添加我的PHP的行,然後走開,看起來並非如此和我的PHP不會運行。
任何人都可以解釋什麼是爲了讓我的PHP代碼在.html頁面中運行所需?
感謝,強尼
服務器需要被告知通過運行PHP引擎的文件。
這通常通過給文件.php
擴展名來完成。
您也可以將服務器配置爲通過PHP傳遞以外的其他文件擴展名或特定的文件的文件,但如何做到這一點取決於服務器(和服務器配置的問題,而不是編程)。
看來,如果我使用的是Apache,我將能夠配置服務器來解析HTML文件中的PHP,但是我不是這樣的,除了重命名.html之外,它看起來像我可以做的任何事情。 PHP。 – Cliftwalker 2011-03-22 19:07:37
這聽起來不太可能,但不幸的是,「不是Apache」留下了很多可能性。 – Quentin 2011-03-23 00:06:32
我認爲有問題的服務器已經安裝了PHP,因爲你說你有PHP的網站的其他地方。
您是否將HTML頁面保存爲PHP頁面,即.php擴展名?
不,我需要把它保存爲一個.html頁面 – Cliftwalker 2011-03-21 13:39:07
如果服務器安裝了PHP模塊,你可以配置Web服務器通過PHP模塊來處理.html文件。 (隨着AddHandler
爲如Apache)
否則,重命名文件以.PHP,並有一些奇特的URL重寫,使他們能夠通過html的調用。
最簡單的方法是將它們命名.PHP,但如果你需要將它們留做html的,你可以在服務器上使用的現代重寫允許的.html鏈接是完全有效的。
更新:作爲Windows Server上的,你可以用這個包http://www.seoconsultants.com/windows/isapi/允許的URL重寫。從我可以收集的內容來看,它和Mod_Rewrite非常相似。
這聽起來很可能,我託管在啓用了PHP5的Windows服務器上,關於如何實現這一點的任何想法? – Cliftwalker 2011-03-21 13:41:39
使用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
@ Jakub's答案几乎與我的方法完全相反,但原理仍然以任何方式。 – 2011-03-21 13:47:52
你有兩個選擇,以得到你需要去:
對於可用過程的緣故,和易於支持我會做第一,這裏有兩個解決方案:
mod-rewrite(.htaccess文件),你將需要對所有的.html文件等效的.php文件。
RewriteEngine on
RewriteRule ^(.*)\.html $1\.php
添加到您的Apache的配置文件:
AddHandler application/x-httpd-php .php .html .htm
把重定向index.html中 代碼重定向到名爲.php的擴展名的文件,並把所有的index.html材料那兒,不管你想添加的附加代碼。
所以當有人到達index.html時,他們會被帶到假設home.php的index.html內容將停留在哪裏,您的動態代碼。
這是最簡單的解決方案,如果你不能改變index.html index.php。
你需要把它保存爲.php嗎?你不能只是改變文件擴展名? (index.php)?它仍然應該顯示爲文件夾的默認頁面 – kieran 2011-03-21 13:37:11
是的,我需要保持它.html – Cliftwalker 2011-03-21 13:38:33
PHP腳本 - 甚至一些標準的PHP標記 - 通常運行在* .php文件 – bensiu 2011-03-21 13:38:43