【发布时间】:2015-05-05 09:25:46
【问题描述】:
我正在租用一台 Unix (Ubuntu) 虚拟服务器。
它最近遭到入侵,因此我的 ISP (WebFusion) 删除了我的所有网站并重新安装了服务器。我的任务是重建其中包含的所有网站。
他们用 11.5 替换了旧的 Plesk 9.4,现在我发现 .htaccess 文件被忽略了,所以我必须找到另一种方法来指导服务器通过 PHP 推送 .htm 文件。
我对此的测试是使用两个名为 phpt.php 和 phpt.htm 的文件完成的。两者都包含简单
<?php echo "hello" ?>
.php 文件有效,但 .htm 无效。
面板中有一个地方似乎是为此而设计的。在“网站与域名”中,如果单击“Web 服务器设置”,我可以看到两个可以添加“附加指令”的区域。
cmets 说我应该使用 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>
我将其更改为在两个位置都将 .html 替换为 .htm(删除 l)。然后我又重新启动了服务器,但还是不行。
所以在这一点上我很茫然,如果有人能提供任何帮助,我将不胜感激。
谢谢,克里斯
【问题讨论】:
-
这道题是如何连接到nginx的?
-
@AlexeyTen 你可以读到:How To Configure Nginx as a Reverse Proxy for Apache
-
@Croises,那又怎样? 我知道如何配置 nginx。我不知道的,这个问题是如何连接到nginx的
-
@AlexeyTen 您不能使用某些 Apache 设置,因为它们不适用于 nginx ...
-
@Croises Apache 设置都不适用于 nginx。他们与 Apache 合作。但我的心灵感应告诉我 nginx 的配置包含类似
location ~ .php的内容,并且 nginx 按原样提供 html 文件,而不是将它们传递给 Apache
标签: apache .htaccess nginx plesk