2014-04-14 31 views
0

我在解析HTML文件中的PHP时遇到问题。在.HTML文件中解析PHP时遇到问题

我正在使用Vesta的安装和域运行良好。有问题的网站有

AddType application/x-httpd-php4 .htm .html 
# and 
AddType application/x-httpd-php5 .htm .html 
,这之前我搬到服务器它允许PHP在HTML运行

。我也试过了我在堆栈溢出中找到的每一个变体,并且他们都没有工作。

我不知道为什么它现在不工作?

有没有人有任何想法? 谢谢 丹·威廉斯

+3

也许是因为你在'apache配置中设置了'AllowOverride None',并且你的.htaccess根本没有被解析? –

+0

感谢您的回复DKasipovic,我会稍微看看。我认为这可能是因为它找到了404页面......谢谢 – user1688928

+2

我还建议另一种解决方案,只是找到一种链接到PHP文件的方式。 Html文件不会因为某种原因而优于PHP;) – Martijn

回答

0

因为你的服务器不会让你在HTML使用PHP,只是重写所有的.html请求在到PHP:

RewriteEngine On 
RewriteRule ^(.*)\.html$ $1.php [L] 

应该解决的问题。 (https://stackoverflow.com/a/5990276/2119863

为什么不用PHP解析HTML?

服务器需要通过php解释器推送的文件类型越多,它将消耗更多的内存,处理器和电力。这就像汽车和卡车。出于某种原因,汽车不会拖拉大型拖车 - 卡车具有更大的发动机并承受重量,但留下更大的碳足迹。

第二个原因是功能分离。看到一个html文件,你应该100%确信 - 在所有和任何服务器上 - 这个文件不会print_r($_SERVER);。当看到一个php文件时,你应该确信它会执行一些动态操作。就像你不应该指望一位护士建造房屋一样,你也不应该期待HTML解析PHP。 :)

+0

感谢您的建议,不幸的是,这会抛出404错误,指出index.php不存在。如果它是我的网站,我会将所有页面更改为PHP,但它不是 - 我只是托管它:( – user1688928