返回错误请求的HTaccess级别错误

时间:2015-05-18 04:12:23

标签: apache .htaccess

这是我对apache的htaccess配置...

DocumentRoot /opt/api/

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule /v1/(.*)$ /v1/api.php?request=$1 [QSA,NC,L]
</IfModule>

这似乎带回了错误...

Bad Request

Your browser sent a request that this server could not understand.

我的文件结构是&#39; /opt/api/v1/api.php'。我假设这是htaccess级别的错误,因为我的错误日志中没有收到任何回复。

任何可以引导我朝着正确方向前进的想法?

干杯

1 个答案:

答案 0 :(得分:1)

我没有看到重写规则有什么问题,但我在下面提到的,但你不能在.htaccess中使用DocumentRoot指令。这是在服务器配置。

http://httpd.apache.org/docs/current/mod/core.html#documentroot

此外,您的规则可能不匹配,因为重写文件中的前导/在每个目录上下文的.htaccess中,它将在匹配之前被删除。以这种方式尝试规则。提供.htaccess文件位于根目录中。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^v1/(.*)$ /v1/api.php?request=$1 [QSA,NC,L]
</IfModule>