未遵循重定向规则



我已经为我的 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。

编辑:正则表达式错了。 已修复,但仍出现问题。

看起来您的组中可能缺少括号:

这:

^/Foo/(A-Za-z0-9]+)/(A-Za-z0-9]+)$

应该是:

^/Foo/([A-Za-z0-9]+)/([A-Za-z0-9]+)$

此类错误通常会导致服务器抱怨配置格式不正确。您是否检查过服务器日志?

最新更新