Я застрял на проблеме с правильным .htaccess в моем restful webapp. Код api для REST должен быть доступен через URL-шаблон */api/**, который должен быть перенаправлен на index.php в папке api.Apache mod_rewrite Restful api
Все остальные URL-адреса (кроме статических файлов) должны быть перенаправлены на index.html в корневую папку.
Я следующая структура папок:
- api -- application/... -- vendor/... -- index.php - public -- css/... -- js/... - index.html - .htaccess
И это мой .htaccess содержание:
Options +FollowSymLinks
RewriteEngine on
# redirect all api calls to /api/index.php
RewriteCond "%{REQUEST_URI}" "^/api"
RewriteRule "^/api/(.+)$" "/api/index.php$" [QSA,L]
# If the request is a file, folder or symlink that exists, serve it up
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ - [S=1]
# otherwise, serve your index.html app
RewriteRule ^(.+)$ /index.html [L]
Я попытался добавить еще один файл .htaccess в папку апи, для перенаправления URL-адреса с/api/*, но без каких-либо успехов. Поэтому я попытался перенаправить его с помощью правила в .htaccess выше.
Я думаю, что правила ниже могут быть правильными. Поскольку перенаправление работает должным образом. Но правило/api/не работает. Кажется, что запросы также перенаправлены на index.html
Что мне не хватает?
удалить '$' от полученного пути – Deadooshka