0

目标是在与静态网站相同的域上有效地设置 Zend 应用程序。目前以下情况属实,但速度较慢:

  • www.website.com/ 重定向到 www.website.com/corp/index.html
  • /admin, /login, /session 解析为 zend 应用程序所在的 /index.php

我已经在我的引导文件中设置了到 www.website.com/corp/index.html 的重定向,但是无论我访问哪个页面,这个重定向都必须在适当的时候发生。它正在减慢整个静态站点的速度。这是我的虚拟主机 httpd.conf 条目,它将所有内容重定向到 /index.php 但我想放置一个异常,允许在该目录中访问 /corp 而无需重定向。当然也欢迎其他简单有效的解决方案。

<VirtualHost *:18887>
   DocumentRoot c:\pathtoapp\public
   ServerName website.com

    SetEnv APPLICATION_ENV "local"
     <Directory c:\pathtoapp\public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
4

1 回答 1

1

如果您修改 Zend Framework 的.htaccess文件以绕过向/corp/*前端控制器发送任何请求,您应该能够绕过这个问题。

尝试将.htaccess公共目录中的文件更改为:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} ^corp\/* [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

第一个 RewriteCond 检查请求文件名是否匹配/corp/*,如果匹配,则绕过前端控制器并直接通过 Apache 为请求提供服务,您的 Zend 应用程序永远不必处理任何这些请求。

于 2012-05-13T19:22:57.677 回答