2017-01-31 5 views
1

ich eine REST-API haben, die zuvor Urls auf meinem localhost hatte, der aussah:Apache vHost und API "ziemlich url" bekommen 404

localhost/api/v1/Sammlung/Ressource

wie ich lokal auf einer API und Web-App gerade arbeite, implementiert ich apache virtuelle Hosts eine api uRL zu erhalten:

api.mydomain.com/v1/collection/resource

Ich habe einen Frontcontroller, den ich Anrufe rufe. api.mydomain.com trifft den Front Controller erfolgreich. api.mydomain.com/v1 listet das Verzeichnis (alle PHP-Dateien), was ein Problem ist, und api.mydomain.com/collection/resource führt zu einer 404.

Meine Verzeichnisstruktur ist:

/api 
    /v1 
    php files 
.htaccess 
Router.php 
index.php 

.htaccess enthält:

RewriteEngine On 
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

ich bin nicht ganz sicher, wo das Problem liegt. Alles andere als die api.mydomain.com scheint die index.php zu umgehen. Ich bin mit diesen Überarbeitungen nicht so vertraut, daher wird jede Einsicht geschätzt.

Antwort

0

das Problem gefunden, probieren. Als ich die vHosts erstellte, kopierte ich eine falsche Einstellung von AllowOverride None, was meine htaccess-Dateien unwirksam machte. Durch die Änderung von AllowOverride All im zugehörigen vHost-Verzeichnis wurde dies behoben.

0

diese

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^api.mydomain.com$ [NC] 
RewriteRule ^(.*)$ index.php [R=301,NC,L] 
+0

Kein Glück. Gleiches Ergebnis. – Runicode