我正在租用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。然后我再次重新启动服务器,但它仍然无效。
所以在这一点上我很茫然,我很感激任何人都可以提供的任何帮助。
谢谢,克里斯
答案 0 :(得分:1)
转到您网域的“网络服务器设置”。
尝试从“由nginx直接提供静态文件”中删除html和htm文件,或者禁用此设置。
答案 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”,有时包括多行不同的文件类型。
但这很有效。无需重启。
感谢所有试图帮助我的人。我希望这会有所帮助。
现在进行下一次移民噩梦。