Come utilizzare punti nelle URL

Quando in un progetto si utilizzano url contenenti punti, in una installazione standard di symfony, si otterrà dal server web un errore 404: questo perché verrà cercato dal server stesso un file piuttosto che ridirigere la richiesta al motore di routing di symfony.
Facciamo un esempio pratico:
routing.yml:
test:
url: /test/:title
param: { module: test, action: index }

/modules/test/templates/indexSuccess.php:
<?php echo $sf_params->get('title'); ?>

Ora se visitiamo la seguente url http://localhost/test/abc apparirà a video la scritta abc.
Se invece utilizziamo quest’altra url http://localhost/test/a.b.c il risultato sarà un errore 4040 “The requested URL /test/a.bc was not found on this server.”.

Per evitare questo comportamento si deve mettere mano al file .htaccess presente nella directory web del nostro progetto per un veloce hack, commentando la prima regola di rewriting in questo modo:

# we skip all files with .something
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
#RewriteRule .* - [L]

In questa maniera ricaricando l’url http://localhost/test/a.b.c si otterrà nel browser il risultato voluto, cioè la stringa “a.b.c”

One Reply to “Come utilizzare punti nelle URL”

Leave a Reply

Your email address will not be published. Required fields are marked *