访问要重写的地址时出错403

时间:2010-09-06 15:27:53

标签: linux apache mod-rewrite

我有以下重写规则:

RewriteRule ^products/([a-zA-Z]+)$ /project/clients/index.php?database=$1&module=products [L,QSA]

目录结构是:

/var/www/project/clients/index.php

将地址"http://host/products/clientA/"写入"/project/clients/index.php?database=clientA&module=products"时。在我的PC中使用linux(debian)的虚拟机工作正常,但服务器linux返回403错误。

但如果我改用这条规则:

RewriteRule ^project/products/([a-zA-Z]+)$ /project/clients/index.php?database=$1&module=products [L,QSA]

然后写下网址:"http://host/project/products/clientA/",效果很好

"/var/www/project/"和子目录的权限适用于apache。

感谢。

修改 我把我的问题提到了“http://serverfault.com

initial question

1 个答案:

答案 0 :(得分:0)

您应该将.htaccess文件放在docroot目录(public_html或htdocs)中。 例如:
网址:http://example.com/somedir/somefile.php
路径:/var/www/example/htdocs/somedir/somefile.php
.htaccess应放在/var/www/example/htdocs/.htaccess

当您收到HTTP 403(或500)错误时,您应首先查看错误日志。