设置Zend Skeleton的重写规则

时间:2013-04-24 14:39:50

标签: apache .htaccess zend-framework2 virtualhost opensuse

我使用opensuse 12.2 os,apache 2.2,zend framework 2。 为了拥有框架的骨架应用程序,我在apache的文件中设置了一个虚拟主机。 这是定义

   <VirtualHost 127.0.0.1>
       DocumentRoot "/home/gabriele/Web/zf2-tutorial/public/"
       ServerName zf2-tutorial.localhost
       SetEnv APPLICATION_ENV "development" 
       <Directory "/home/gabriele/Web/zf2-tutorial/public/">
             Options +FollowSymLinks
             AllowOverride All
             DirectoryIndex index.php 
             AllowOverride None
             Order allow,deny
             Allow from all
       </Directory>
   </VirtualHost>

当我转到zf2-tutorial.localhost时,我可以看到欢迎页面。 我试过了htaccess

     Options +FollowSymlinks
     RewriteEngine On
     # The following rule tells Apache that if the requested filename
     # exists, simply serve it.
     RewriteCond %{REQUEST_FILENAME} -s [OR]
     RewriteCond %{REQUEST_FILENAME} -l [OR]
     RewriteCond %{REQUEST_FILENAME} -d
     RewriteRule ^.*$ - [NC,L]
     RewriteRule ^.*$ index.php [NC,L]

     The structure of my folder is :
     \home
           \gabriele 
                    \Web
                         \zf2-tutorial
                                     \public
                                            -index.php
                                            -htaccess

如果我继续使用zf2-tutorial.localhost / test1234,我应该会看到在骨架内重定向的错误,而不是我看到正常的apache错误。

1 个答案:

答案 0 :(得分:0)

您已为初学者完成了VHOST设置:

  AllowOverride All
  DirectoryIndex index.php 
  AllowOverride None # WRONG - remove this.

你已经关闭了Overrides,这会杀死你的htaccess。