2012-11-05 52 views
4

我已經添加了線使用PHP代碼

AddType application/x-httpd-php .html 

到我的Apache的配置文件,但我仍然無法得到一個.html文件解析內部PHP腳本。我究竟做錯了什麼?

這是錯誤的配置文件添加到此信息?

+1

這與'windows-8'有關嗎? – raina77ow

+1

那麼,**哪個**配置文件明確地把它放進去了?如果'httpd.conf',有人忘了重啓服務器嗎? – mario

+0

是的,請刪除Windows 8標籤;也許添加apache標籤 - 正確標記可能會給你更多的答案,因爲跟隨這些標籤的人更可能看到問題。在對配置進行更改後,你重新啓動了Apache嗎? – Ren

回答

1

我知道這並不完全符合您的要求,但您可以僞造這是用戶通過使用Apache RewriteEngine調用的HTML文件。

RewriteEngine ON 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^((.+)\.(html|htm))$ ($2).php [L] 

我也覺得這是一個很好的安全性一點不運行.html作爲PHP腳本,如果你忘記你 已配置此或使用可以上傳HTML到你的服務器。 (未配置apache以.html作爲PHP文件在filesytem上運行文件。)

1

某些網絡主機需要這兩個指令。試試這個:

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

如果不需要此爲您恩特雷里奧斯網站將同樣使用的.htaccess這樣做對每個文件/目錄基礎強烈建議。

2

可以使用的.htaccess:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$.html $1.php [L] 
RewriteRule ^(.*)$.htm $1.php [L] 
2

使用可能會略有不同的處理程序。

我會建議通過一個PHP文件作爲最後的手段,因爲這可以用較少的努力解決,這是一種蠻力的方法。

一些非常常見的變化如下,但可能會有更多。

AddType application/x-httpd-php 

    AddType application/x-httpd-php5 

    AddHandler application/x-httpd-php 

    AddHandler application/x-httpd-php5 

也如上所述,可能需要AddType和AddHandler的組合。