que estoy tratando de crear una cadena de URL que funciona así:URL codificada barras diagonales que rompen mi aplicación CodeIgniter
/app/process/example.com/index.html
por lo que en otras palabras,
/app/process/$URL
entonces recuperar la dirección URL con
$this->uri->segment(3);
barras inclinadas en la dirección URL, por supuesto, ser un problema para acceder a segmentos de URI, así que iré AHEA d URL y codifican la porción URL:
/app/process/example.com%2Findex.html
.. pero ahora sólo reciben un 404 diciendo ...
Not Found
The requested URL /app/process/example.com/index.html was not found on this server.
parece que mi URL codificación de barras diagonales rompe analizador URI de CI.
¿Qué puedo hacer para evitar este problema?
Esto es correcto. Sin embargo, incluso cuando está solucionado, puede tener problemas, ya que el estándar CGI que define PATH_INFO requiere que las cadenas atraviesen una ronda de descodificación de URL, lo que puede romper la barra. Solo en Apache, puede usar REQUEST_URI en su lugar, que no sufre de esto ... no sé si CI puede usar eso. – bobince
Acabo de solucionar este problema en un sitio. Esto es un truco, pero hizo el trabajo: doblé el urlencoded de la URL. De esta forma, el urldecode de REQUEST_URI no revierte los/'s demasiado pronto. –
En realidad, lo que quiere es probablemente 'AllowEncodedSlashes NoDecode' – celwell