htaccess导致index.php下载

时间:2011-11-29 18:27:31

标签: php .htaccess virtualhost zend-server-ce

我正在开发一个依赖于以下htaccess文件的站点,通过在系统上不存在指定的url时重定向到index.php来创建虚拟目录结构。

AddHandler php5-script .php
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?p=$1 [L,QSA]

这似乎在客户端的现有服务器上运行良好。它无形地将域名/checkout重定向到domain.com/index.php?p=checkout

我的问题是,在我的本地开发环境中,这会导致任何不存在的域名,例如domain.com/checkout,甚至根域domain.com下载index.php

如果我尝试加载网站中存在的特定文件,例如domain.com/index.php,那么它会在浏览器中正确解析并显示。

如果重要,我的开发环境在Zend Server Community Edition上配置了虚拟主机。

1 个答案:

答案 0 :(得分:2)

我想您已经在开发服务器中为所有扩展名为*.php的文件配置了PHP。这意味着在.htaccess文件中再次执行此操作不仅是不必要的,而且可能会取消服务器的配置(因为它实际上正在执行)。因此,你需要摆脱这一行:

AddHandler php5-script .php

问题是为什么它首先出现在那里。我希望默认配置任何支持PHP的托管服务: - ?