apache 未遵循重定向规则

t3psigkw  于 2023-10-23  发布在  Apache
关注(0)|答案(1)|浏览(217)

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

  1. <Directory /var/www/html>
  2. Options Indexes FollowSymLinks
  3. AllowOverride FileInfo
  4. Require all granted
  5. </Directory>

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

  1. <VirtualHost *:80>
  2. DocumentRoot /var/www/html
  3. RewriteEngine On
  4. RewriteRule ^/Foo/([A-Za-z0-9]+)/([A-Za-z0-9]+)$ /Baz/$1/Bar/$2/json
  5. </VirtualHost>

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

  1. 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]+)$
这种错误通常会导致服务器抱怨配置格式不正确。你查过服务器日志了吗

相关问题