未遵循重定向规则
Redirect rule not being followed
我已经为我的 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//Bar//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]+)$
这种错误通常会导致服务器抱怨配置格式错误。您检查过服务器日志了吗?
我已经为我的 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//Bar//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]+)$
这种错误通常会导致服务器抱怨配置格式错误。您检查过服务器日志了吗?