2012-03-29 29 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開始和結束標記中。

相關問題