Por ejemplo, para negociar idioma uso:
archivo.es.xml
archivo.en.xml
archivo.xml
Para negociar tipo:
imagen.png
imagen.gif
Mi problema es que llegué a un ponto en el que voy a necesitar usar archivos .var para especificar la negociación, pero este sólo funciona si apunto el navegador al archivo var.
Por ejemplo: tengo un mapa llamado asd.var
Código:
Cuando voy al recurso /asd con la cabecera Accept: application/json me retorna un HTTP Status 404. Pero si funciona cuando voy a /asd.var. Lo cual realmente no tiene sentido porque MultiViews está activo (lo pruebo ingresando /asd2 y me retorna el archivo asd2.php).URI: asd URI: asd1.php Content-type: application/json; qs=0.8 URI: asd2.php Content-type: application/xml; qs=0.5 URI: asd3.php Content-type: text/html; qs=0.3 URI: asd4.php Content-type: application/xhtml+xml; qs=0.1
También intenté cambiando los nombres de los archivos a:
Código:
Cuando voy a /asd el servidor no puede negociar porque para él son todos application/x-httpd-php.URI: asd URI: asd.json.php Content-type: application/json; qs=0.8 URI: asd.xml.php Content-type: application/xml; qs=0.5 URI: asd.html.php Content-type: text/html; qs=0.3 URI: asd.xhtml.php Content-type: application/xhtml+xml; qs=0.1
Alternates: {"asd.html.php" 1 {type application/x-httpd-php} {length 341}}, {"asd.json.php" 1 {type application/x-httpd-php} {length 341}}, {"asd.xhtml.php" 1 {type application/x-httpd-php} {length 341}}, {"asd.xml.php" 1 {type application/x-httpd-php} {length 341}}
Pero cuando voy a /asd.var me devuelve el correcto.
Como última prueba apunto a /asd.var con una cabecera Accept erronea y hasta me indica los tipos mime indicados en el mapa.
Alternates: {"asd.json.php" 0.8 {type application/json} {length 341}}, {"asd.xml.php" 0.5 {type application/xml} {length 341}}, {"asd.html.php" 0.3 {type text/html} {length 341}}, {"asd.xhtml.php" 0.1 {type application/xhtml+xml} {length 341}}
¿Alguien tiene una sugerencia para que el archivo var sea el que resuelva la respuesta sin tener que ingresar en la consulta .var?