我有以下重写规则:
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”
答案 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)错误时,您应首先查看错误日志。