如何从htaccess中的默认路由中排除api.php

时间:2011-05-10 08:45:44

标签: apache zend-framework .htaccess

我使用Zend提供的默认.httaccess。我在apache配置中定义了另一条路由,以便将提交给/api.php/WHATEVER的所有内容路由到另一个框架。

如果我将默认路由添加到.htaccess文件中,则会覆盖此规则。我试图禁用重写引擎的内容如下:

RewriteEngine On
# api.php
RewriteCond %{REQUEST_URI} !^/(api\.php/.*)$
# Existing file
RewriteCond %{REQUEST_FILENAME} -s [OR]
# Existing directory
RewriteCond %{REQUEST_FILENAME} -l [OR]
# Symbolic link
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

不幸的是,我没有看到错误。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

也许这应该有效:

RewriteEngine On
# api.php
RewriteCond %{REQUEST_URI} ^/(api\.php/.*)$
RewriteRule  api.php?(.*) [R=301,L]
# Existing file
RewriteCond %{REQUEST_FILENAME} -s [OR]
# Existing directory
RewriteCond %{REQUEST_FILENAME} -l [OR]
# Symbolic link
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

但你可以适应......