在plesk 11.5中运行.htm文件上的php

时间:2015-03-04 11:45:54

标签: apache .htaccess nginx plesk

我正在租用Unix(Ubuntu)虚拟服务器。

最近遭到破坏,因此我的ISP(WebFusion)删除了我的所有网站并重新安装了服务器。我的任务是重新构建它包含的所有网站。

他们用11.5替换了旧的Plesk 9.4,现在我发现.htaccess文件被忽略了,所以我必须找到另一种方法来指导服务器通过PHP推送.htm文件。

我对此测试是通过两个名为phpt.php和phpt.htm的文件完成的。两者都包含

<?php echo "hello" ?>

.php文件有效,但.htm没有。

面板中有一个地方似乎是为了做到这一点。在“网站与域名”中,如果单击“Web服务器设置”,我可以看到两个可以添加“附加指令”的区域。

评论说我应该使用httpd.include语法,如果我研究,我看到我可以说“AddHandler cgi-script .cgi”之类的东西。 所以我添加了“AddHandler php-script .htm”和“AddHandler php5-script .htm”,保存并重新启动了服务器。

这不起作用。研究表明,这是因为nginx现在包含在Apache中,它们以打破这种方式的方式进行交互。大。

所以我删除了那些指令并进行了更多研究,发现这篇文章http://kb.sp.parallels.com/en/115773说我应该在域根目录下创建一个“conf”目录并在其中放置一个名为“vhost.conf”的文件,该文件应该是包含(对于像我这样的PHP的CGI应用程序实现):

<Files ~ (\.html)>
    SetHandler None
    AddHandler php-script .html
    Options +ExecCGI
    allow from all
</Files>

我改变了这个以在两个位置用.htm(删除l)替换.html。然后我再次重新启动服务器,但它仍然无效。

所以在这一点上我很茫然,我很感激任何人都可以提供的任何帮助。

谢谢,克里斯

3 个答案:

答案 0 :(得分:1)

转到您网域的“网络服务器设置”。

尝试从“由nginx直接提供静态文件”中删除html和htm文件,或者禁用此设置。

Web Server Settings

答案 1 :(得分:0)

我在我的根.htaccess中使用Plesk 12.0.18(也使用Apache和nginx):

AddHandler php-script .htm

Plesk 11没问题(但不是9 ...)

答案 2 :(得分:0)

嗯,这令人沮丧。我读到的关于nginx没有将指令传递给Apache的所有内容显然都不正确。 Parallels的文章也是不必要的。迈克尔 - 没有像你提到的那样的选择。

Plesk为“附加指令”提供的字段是可行的,但我的语法错误。我在“处理程序”字段的“自定义值”中添加了完全且仅添加的内容:

php-script .php .htm

有效。在我有各种各样的错误版本之前 - 有时包括“AddHandler”有时包括“php5”,有时包括多行不同的文件类型。

但这很有效。无需重启。

感谢所有试图帮助我的人。我希望这会有所帮助。

现在进行下一次移民噩梦。