Apache RewriteRule给出权限错误

时间:2014-03-02 04:46:53

标签: apache mod-rewrite

不确定我做错了什么,但我的2个RewriteRule中的一个正在工作,而另一个则没有。

这是我的.htaccess文件:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^/?api$ tmp/api.php [L]
RewriteRule ^/?funsite$ tmp/funsite.php [L]

以下是httpd.conf文件中的内容:

<Directory "/apache">
    Options -Indexes -Includes -ExecCGI -FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

指向RewriteRule的{​​{1}}是唯一无法正常工作的人。

浏览器上的错误是:您无权访问此服务器上的/ api /。

谁能看到我做错了什么?

1 个答案:

答案 0 :(得分:0)

由于/api/

,此规则不会重写$
RewriteRule ^/?api$ tmp/api.php [L]

如果i之后有任何内容,则不匹配。要修复它,请将其更改为

RewriteRule ^/?api/?$ tmp/api.php [L]

请注意/?之前的其他$。您可能希望对尝试匹配伪目录的所有其他规则进行类似的更改。