Zendframework项目显示xyz.com/public/,以便如何删除public

时间:2012-03-01 09:53:50

标签: php zend-framework .htaccess

我在服务器上的zendFramework应用程序显示

xyz.com/public/login

我希望它像

xyz.com/login

如何实现这一目标?是否可以使用.htaccess文件?

2 个答案:

答案 0 :(得分:2)

这是来自另一个answerquestion,但似乎也适合这个问题。如果您在.htaccess内已有public个文件,请使用下面的htaccess解决方案。

问题似乎是由于根未被路由到/public

  1. 正确方法:您需要设置vhost并将根目录指向public目录。

  2. 另一种方式:您需要重定向public目录中的每个请求。此文件的.htaccess将为

    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]
    

答案 1 :(得分:1)

您必须创建virtual server Zend才能tutorial这样做。

如果您因任何原因无法创建虚拟服务器。您可以将公共index.php文件放在公用文件夹之外。如果选择此方法,则必须添加额外的安全方法,选择此方法可以直接访问文件。

您可以通过在这些目录中创建.htaccess来阻止这些直接访问 -

<Files *>
Deny from all
</Files>