爲了運行php代碼,網頁是否需要以「.php」結尾?有沒有辦法以「.html」結尾的文件可以運行php代碼?必須以「.php」結尾才能運行php代碼?
回答
如果您使用Apache Web服務器,你可以加入這一行它的配置:
AddType application/x-httpd-php .html
它告訴與一個.html
擴展名的文件服務器能夠被認爲是PHP文件。我不推薦這樣做,因爲它會強制每個文件(甚至是靜態html頁面)上的PHP引擎。
或者,您可以通過mod_rewrite
將(某些).html
網址重寫爲其PHP版本。
是的,有一種方法:.html擴展名與PHP在Apache /其他網絡服務器配置相關聯。
但是,不建議做PHP頁面看起來就像HTML,最好是裁剪延伸原樣。
「不建議做PHP頁面看起來像HTML「 - 爲什麼不呢? – Yarin 2010-12-09 14:41:38
只要您告訴它,您可以讓PHP解析任何文件類型。
在.htaccess:
AddType application/x-httpd-php .php .html
這將告訴PHP解析.PHP和.html文件。
是的,你可以做到這一點的.htaccess:
RewriteEngine on
RewriteBase/
RewriteRule ^(.*)\.html$ $1.php [L]
沒有網頁並不需要在.php
結束被解析爲PHP。
是的,你可以用你根據你的Web服務器上想要的任何擴展名,例如下面的代碼放置在Apache的配置,如果將Apache服務器上運行時.htm
,.html
或.php
擴展解析文件作爲PHP。
AddType application/x-httpd-php .htm .html .php
而且你還可以使用正則表達式,以更好地滿足特定條件的嘗試:
<FilesMatch "\.(htm|html|php)$">
SetHandler application/x-httpd-php
</FilesMatch>
+1將正則表達式帶入對話中 – 2010-12-09 15:08:59
+1對於FilesMatch :-) – 2010-12-09 15:36:21
我建議你看看到URL重寫,而不是搞亂了Apache中的.html配置。這樣你就可以讓php頁面以任何你想要的方式結束,甚至根本沒有任何擴展。不擴展的搜索引擎優化友好的URL總是比任何帶有擴展名的現有文件名更好。
只是我的2個硬幣:)
你也可以完全消除這個擴展。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
所以現在 http://www.test.com/mypage.php 將http://www.test.com/mypage
您對您的.htaccess文件可以通過主機有所不同的變化。
在MEDIATEMPLE,例如,添加此::
SetHandler php-script
上迫使PHP好點的發動機驅動的概率不是一個值得endeavor- thanks-- – Yarin 2010-12-09 14:43:58