Доброе утро, у меня настроен виртуальный хост на сервере Apache2.Модуль mod_rewrite активен и функционален.
Я протестировал регулярные выражения на сайте https://regex101.com/, и он ведет себя так, как я ожидал.
Я протестировал .htaccess файл на сайте https://htaccess.madewithlove.be/, и он работает правильно.
Я не понимаю, почему, когда я пробую его на сервере apache, он не работает.
Вот полный .htaccess файл
.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(assets|locale)/(.*)$ user/$2/$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(/{0,1})user/([^/]+)(/?.*) user/$2.html [QSA,L]
Конфигурация виртуального хоста
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
Структура сайта
mywebsite.local
user/
- .htaccess
- index.html
- app.html
Протестированный URL
http://mywebsite.local/user/index/
http://mywebsite.local/user/app/
http://mywebsite.local/user/app/dashboard/
http://mywebsite.local/user/app/planningWeek/current/
http://mywebsite.local/user/app/task/taskId/day/month/year/
Что яожидается
http://mywebsite.local/user/index/
go to index.html (it works)
http://mywebsite.local/user/app/
go to app.html (it works)
http://mywebsite.local/user/app/dashboard/
it must go to app.html but I have this error
"The requested URL /user/app.html/dashboard was not found on this server."
Я не понимаю, почему регулярное выражение является действительным и файл .htaccess с указанных сайтов работает, но если я загружаю его на сервер, нет.
Спасибо