如何在URL中没有“public”的情况下访问ZF2应用程序

时间:2013-05-19 03:23:40

标签: php zend-framework2

我在ZF2上完成了我的项目,然后将其上传到共享主机上。我想要一个包含所有文件的zend应用程序的文件夹,然后在文档根目录中我希望public文件夹中的文件可见,因为我希望我的URI看起来像{{1} }(不是www.example.com)。

3 个答案:

答案 0 :(得分:2)

我在使用ZF1应用程序的情况下所做的是在文档根目录中抛出一个app目录,并使用服务器的.htaccess等效文件使其不从那里提供文件(Deny from all)。然后将网关脚本粘贴到文档根目录中,并更新其中包含APPLICATION_ROOT的路径以及自动加载器的路径。

希望这会有所帮助。

答案 1 :(得分:0)

您可以将/ public内的文件移动到您的webroot。但请注意,webroot下面的配置文件存在安全风险。

答案 2 :(得分:0)

这一项工作。

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]