У меня есть проект с двумя приложениями: интерфейс (в AngularJs) и бэкэнд (в Phalcon). Я мой корень сервера документов у меня есть две папки и один HTAccess:Htaccess mod rewrite не работает
public_html
- api
- controllers
- index.php
- app
- .htaccess
.htaccess, имеют следующую конфигурацию:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^api/(.*)$ api/index.php?_url=/$1 [QSA,L]
</IfModule>
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
Так что, когда я отправить запрос POST (например) http://mydomain/api/sessions
, результат 404 не найден. Конфигурация маршрутизатора:
$router->addPost('/sessions', array(
'controller' => 'sessions',
'action' => 'post'
));
В моем локальном хосте отлично работает с этой конфигурацией. Но, в моем VPS нет. Любые идеи?
Обновление 1:
Если я не использовать какую-либо услугу REST, доступ через http://mydomain/api
контроллер индекс Phalcon загружен.
Update 2:
Если я пытаюсь получить доступ к службе REST, используя Phalcon URL как http://mydomain/api/index.php?_url=/licenses
работает отлично.
А, так что файл .htaccess не обрабатывался вообще? Таким образом, запрос 'http: // mydomain/api/sessions' непосредственно в браузере также привел бы к 404, я предполагаю. Запрос на 'http: // mydomain/api' в любом случае не соответствовал бы« RewriteRule », поэтому он просто загрузил« http: // mydomain/api/index.php »(на Apache с соответствующими параметрами). – MrWhite