apache 未遵循重定向规则

t3psigkw  于 7个月前  发布在  Apache
关注(0)|答案(1)|浏览(104)

我已经为我的apache站点设置了以下conf文件,并启用了mod重写,但是我在触发规则时遇到了问题。我相当确信这是一个丢失的配置,但我不确定它在哪里。我一直在尝试不同的配置,但找不到一个工作
我的apache2.conf文件包含以下内容

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride FileInfo
    Require all granted
</Directory>

我的000-default.conf文件包含以下内容

<VirtualHost *:80>
    DocumentRoot /var/www/html

    RewriteEngine On
    RewriteRule ^/Foo/([A-Za-z0-9]+)/([A-Za-z0-9]+)$ /Baz/$1/Bar/$2/json

</VirtualHost>

如果我去:http://localhost/Foo/sample/data
日志中的错误:

File does not exist: /var/www/html/Foo/sample/data

但是,如果我手动转到/Baz/sample/Bar/data/json,我会得到200。
编辑:regex是错误的。已修复,但问题仍然存在。

c9x0cxw0

c9x0cxw01#

看起来像是你们组里少了一个括号:
这一点:
^/Foo/(A-Za-z0-9]+)/(A-Za-z0-9]+)$
应该是:
^/Foo/([A-Za-z0-9]+)/([A-Za-z0-9]+)$
这种错误通常会导致服务器抱怨配置格式不正确。你查过服务器日志了吗

相关问题