Правило перенаправления не соблюдается - PullRequest
0 голосов
/ 30 мая 2019

Я настроил следующие conf-файлы для своего сайта apache и включил переписывание модов, но у меня возникают проблемы при запуске правила. Я довольно уверен, что это пропущенная конфигурация, но я не уверен, где она лежит. Я экспериментировал с различными конфигурациями, но не могу найти ту, которая работает

Мой файл 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.

EDIT: регулярное выражение было неправильно. исправлена, но проблема по-прежнему возникает.

1 Ответ

0 голосов
/ 30 мая 2019

Похоже, что в ваших группах отсутствует скобка:

это:

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

должно быть:

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

Этот тип ошибки обычно заставляет сервер жаловаться на неправильную конфигурацию. Вы проверили логи сервера?

...