2011-08-14 97 views
0

我想我很久以前在一個網站上爲我的網頁製作.html擴展名時犯了一個錯誤。在.html頁面中導入div

現在我想做一些事情,比如導入div,並且使事情變得模塊化,但是我有一種感覺這是不可能的。

在PHP中我可以做類似

<?php 
include("divs/footer.php"); 
?> 

但我怎麼能導入一個div在頁面中有.html擴展?或者.html擴展名不重要?

謝謝!

+0

什麼服務器環境? Apache的? IIS?你是否需要將包含內容解析爲PHP,還是隻是靜態HTML? – steveax

+0

@steveax Apache – Genadinik

回答

4

擴展並不重要。

+0

那我該怎麼做呢? – Genadinik

+0

您可以通過添加以下行來修改.htaccess文件:'AddType application/x-httpd-php .html'。缺點是您的服務器現在將所有.html文件解釋爲.php文件。 –

+0

如果你只需要在一個html頁面上包含php,最好把它添加到你的.htaccess文件中:' AddType application/x-httpd-php .html' –

3

您有幾個選擇。您可以告訴您的服務器使用PHP解釋器執行.html文件,但這可能會讓某些人在將來感到困惑。我認爲將頁面重命名爲.php並更新您網站上的所有鏈接會更好。然後使用HTTP 301設置從*.html*.php的重定向,以便任何舊書籤或鏈接仍然有效。

您的另一個選擇是使用mod_rewrite將所有的URL從/pagename.html改寫爲/index.php?page=pagename。然後,你可以有index.php只是這樣做:

<?php 

if(strpos($_GET['page'], '../') !== false) 
    die; // Do not allow traversing up the directory tree 

require dirname(__FILE__).'/'.$_GET['page']; 

?> 

您可能需要做更多的檢查,以確保該文件是有效的,但這些代碼將只需要下面的Web根文件,所以它應該是安全的使用。