2014-01-18 55 views
0

使用Zend_Navigation,我注意到它将'/ public /'添加到所有链接。ZF1从url中删除'public /'

如何删除此添加表单url?

$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); 

回答

0

.htaccess文件,你需要添加一个规则是,

试试以下,

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

在你的.htaccess行添加这些行,看看它是否工作..

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

<VirtualHost *> 
    ServerAdmin [email protected] 
    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

+0

htaccess does not help( – ovnia

1

该解决方案很简单。编辑您的bootsrap.ini这样的:

resources.frontController.baseUrl = "/" 
+0

很好,不需要.htaccess毕竟,! –

+1

检出[this](http://developerspark.net/2013/01/zend-framework-how-to-remove-public- folder-from-url /)和[this](http://akrabat.com/zend-framework/zend-framework-on-a-shared-host/)供参考。 –

0

简单的办法,我使用:

index.php到根目录。

定义APPLICATION_PATH如下:

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

运行项目,而不public一部分。