ZF1从网址中删除'public /'

时间:2014-01-18 22:40:12

标签: zend-framework

使用Zend_Navigation,我注意到它将'/ public /'添加到所有链接。

如何删除此添加表单网址?

$navigation = array(
    array(
        'label'      => 'Home',
        'title'      => 'Go Home',
        'module'     => 'default',
        'controller' => 'index',
        'action'     => 'index',
        'route'      => 'default',
        'order'      => -100 // make sure home is the first page
    ),
    array(
        'label'      => 'Test static page!',
        'route'      => 'pages',
        'params'     => array(
            'permalink'     => 'test'
        )
    )
);
            $nav = new Zend_Navigation($navigation);

3 个答案:

答案 0 :(得分:1)

解决方案很简单。像这样编辑你的bootstrap.ini:

resources.frontController.baseUrl = "/"

答案 1 :(得分:1)

我正在使用的简单方法:

index.php放到根目录。

APPLICATION_PATH定义如下:

define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application'));

运行没有public部分的项目。

答案 2 :(得分:0)

.htaccess文件中,您需要为其添加规则,

尝试以下,

RewriteCond %{REQUEST_URI} !/public [NC]
RewriteRule ^(.*)$ public/$1 [L]

在.htaccess行添加这些行,看看它是否有效..

或者您可以创建一个虚拟主机,它直接指向您的公共目录, 如下,

<VirtualHost *>
    ServerAdmin admin@localhost.com
    DocumentRoot "C:/wamp/www/project/public"
    ServerName localhost.test
    ServerAlias localhost.test
    <Directory "C:/wamp/www/project/public">   
        DirectoryIndex index.php      
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

您需要先关注某些内容才能创建虚拟主机。

OFFICIAL DOC FOR VIRTUAL HOST