Routing propre

a marqué ce sujet comme résolu.

Salutation !

Je viens de m'essayer à Silex pour un petit projet comme je suis plus habitué à Symfony. Le soucis est que je n'arrive pas à avoir les URI que je souhaite.

J'aimerai ce format : http://localhost/project/api/<X>

Voici la structure de mon projet :

  • project
    • api
      • app
      • src
      • www
    • others

Voici mes .htaccess :

1
2
3
4
5
6
7
8
<IfModule mod_rewrite.c>
# project/api/.htaccess
RewriteEngine On

RewriteBase /project/api/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ www/$1 [QSA,L]
</IfModule>
1
2
3
4
5
6
7
8
9
<IfModule mod_rewrite.c>
# project/api/www/.htaccess
Options -MultiViews

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ app.php [L]
</IfModule>

Mais j'obtiens cette erreur lors que j'accède à la page http://localhost/project/api/ :

Sorry, the page you are looking for could not be found.

Voici mon code :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
// api/www/app.php
require_once __DIR__.'/../../vendor/autoload.php';

$app = new Silex\Application();

$app->get('/', function () {
    return 'Hello ';
});

$app->run();

Mais si je tape l'URL : http://localhost/project/api/www/ j'obtiens mon "hello".

Pour l'URL http://localhost/project/api/ avec cette syntaxe :

1
2
3
4
<?php
$app->get('project/api/', function () {
    return new Response('Welcome');
});

J'obtiens aussi 'Welcome'. Mais je voudrais ne pas devoir placer la portion 'project/api/' à chaque fois dans mes routes.

Auriez-vous une idée chers amis ?

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte