常用的Zend Framework项目的目录结构如下:
当我们使用上面的目录结构时,需要将所有能通过浏览器访问的文件放在public目录,然后修改Web服务器的配置将文档目录指向此目录。
但问题是一般情况下,在使用共享的虚拟主机时,我们没有修改配置文件的权限,解决这个问题的简单方法,将public目录中的.htaccess文件移至根目录,然后修改内容如下:
RewriteEngine On RewriteRule ^\.htaccess$ - [F] RewriteCond %{REQUEST_URI} ="" RewriteRule ^.*$ /public/index.php [NC,L] RewriteCond %{REQUEST_URI} !^/public.*$ RewriteRule ^(.*)$ /public/$1 RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^.*$ - [NC,L] RewriteRule ^public/.*$ /public/index.php [NC,L]
要求服务器支持Rewrite且能够解析.htaccess。
查看原文:http://www.alberton.info/zend_framework_mod_rewrite_shared_hosting.html