我正在开发一个依赖于以下 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]
这似乎在客户端的现有服务器上运行良好。它无形地将 domain.com/checkout 之类的内容重定向到 domain.com/index.php?p=checkout
我的问题是,在我的本地开发环境中,这会导致任何不存在的 URL,例如 domain.com/checkout,甚至是根 domain.com 下载 index.php
如果我尝试加载网站中存在的特定文件,例如 domain.com/index.php,那么它会正确解析并显示在浏览器中。
万一这很重要,我的开发环境在 Zend Server Community Edition 上配置了一个虚拟主机。