【问题标题】:php files being downloaded instead of rendered in browser over sslphp 文件被下载而不是通过 ssl 在浏览器中呈现
【发布时间】:2013-04-08 19:16:49
【问题描述】:

我的 php/apache 配置有问题。文件将通过 http 呈现良好。但是,通过 https 会提示下载/保存文件。奇怪的是图像是通过 https 渲染的。

经测试,SSL 配置已在多个站点上正确安装。另外,需要注意的是,这是在 plesk 环境中,但我是通过 shell 访问安装的。

虚拟主机部分如下:

 AddType text/html .php 
 AddType application/x-httpd-php .php

   ErrorLog /etc/httpd/logs/smartsites_error_log

   CustomLog /etc/httpd/logs/smartsites_access_log common

ServerName secure.cognitionsmartsites.com

     <Directory "/var/www/vhosts/default/htdocs">
    Allow from all
            Options +Indexes
</Directory>

    IndexOptions
ServerAlias  secure.cognitionsmartsites.com

#UseCanonicalName Off
DocumentRoot /var/www/vhosts/default/htdocs

#ScriptAlias /cgi-bin/ "/var/www/vhosts/default/cgi-bin/"

SSLEngine On

#SSLVerifyClient none
#SSLCertificateFile /usr/local/psa/var/certificates/cert-L6E8a0

    SSLCertificateFile /usr/local/psa/var/certificates/cert.crt
    SSLCertificateKeyFile /usr/local/psa/var/certificates/private.key
    SSLCertificateChainFile /usr/local/psa/var/certificates/intermediate.crt

【问题讨论】:

  • 尝试将第 2 行的 AddType 更改为 AddHandler。这行得通吗?
  • 我想明白了!你是男人……
  • 实际上..可能没有像我想象的那样工作
  • 现在奇怪的是页面正在浏览器中呈现,但 php 代码显示为文本(未处理)......有什么想法吗?
  • 我不是 apache 高手,但我曾经遇到过这个问题,虽然我不记得原因,但我记得找到它的过程:我只是仔细比较了 line by将我用于处理 HTTPS 请求的 VirtualHost 与我用于 HTTP 请求的 VirtualHost 对齐。如果你还没有,也这样做。您发现的任何与 SSL 没有直接关系的差异,并且由于某种原因您没有明确决定您想要的差异可能是不可取的,并且可能是您当前问题的原因。

标签: php apache https


【解决方案1】:

将第 2 行的 AddType 更改为 AddHandler。这将告诉 php 处理您的 .php 文件,而不是像 AddType 那样设置 mimetype。

另外,请确保您的 php 代码以 &lt;?php 而不仅仅是 &lt;? 开头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多