php - Apache 重写规则强制下载

标签 php apache .htaccess

我正在尝试移植由另一个编码器(不再存在)开发的 PHP 站点,但我遇到了 Apache 重写规则的问题,该规则提示在目标服务器上下载文件。我确定这是一个简单的问题,但我在谷歌上搜索答案时遇到了一些困难。我在一个(专用)Ubuntu 服务器上运行,标准安装了 Apache 和 PHP5,并从共享的共享服务器移植,一切正常。在移植期间没有更改任何站点文件。

.htaccess 文件包含此代码(仅)

# 默认使用 PHP5
AddHandler 应用程序/x-httpd-php5 .php
选项 -Indexes FollowSymlinks

重写引擎开启
RewriteRule ^html/(.*)/index.php?init=site\/$1\/$2\/$3\/$4\/$5\/$6\/$7\/$8\/$9

重写规则 ^mykart$/index.php?admin=true
重写规则 ^mykart/$/index.php?admin=true
RewriteRule ^mykart/(.*)$/index.php?init=admin\/$1\/$2\/$3\/$4\/$5\/$6\/$7\/$8\/$9&admin=true


当我尝试打开文件 http://www.mysite.com/html/#home浏览器尝试下载 (index.php) 文件而不是显示它,并显示消息

“你选择了打开
[对话框在此处显示空白]

这是一个:application/x-httpd-php
从....


我想我一定在 PHP 或 Apache 配置中遗漏了一些东西,但是什么?

编辑:澄清一下,服务器正在运行 Apache2 并且上面有几个正常运行的 PHP 站点。此外,如果我删除 .htaccess 文件并运行一个简单的 phpinfo 显示页面,一切都运行良好,因此不是每次看到 PHP 的执行。

最佳答案

我想 MIME 类型 application/x-httpd-php5无效。我已经在我的本地机器上试过了,它导致了同样的行为。

你试过了吗application/x-httpd-php反而?

关于php - Apache 重写规则强制下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/799649/

相关文章:

php - 如何使用 PHP 重现特定的 JSON 文档

apache - 如何使用 google apps 在 apache 上验证域

apache - 指定静态文件缓存的到期日期

apache - 如何仅在使用 .htaccess 启用 SSL 的情况下启用目录密码保护?

php脚本访问远程linux服务器并执行bash脚本

php - 正则表达式匹配对 Shadowbox.init() 的有效调用

php - 如何在mysql中插入多维数组?

php - 使用 RewriteRule 发送 POST 数据

wordpress - 在不使用 .htaccess 的情况下重定向 Wordpress 网站上的非 www

regex - 删除 .htaccess 中 URL 中各处的多组斜杠