storage_path route obtener current array_add php url laravel laravel-5

php - route - storage_path laravel 5



Laravel está "escuchando" index.php cadena en cualquier parte de la URL (2)

El mismo problema al que me enfrentaba en laravel 3 cuando me estaba salteando el público de la url. luego coloqué otro archivo htaccess en la carpeta pública.

RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]

Tengo un proyecto de Laravel 5 con rutas configuradas, así como una página 404 personalizada (la mayoría de las "páginas" faltantes / incorrectas).

Entonces, básicamente, si abro una ruta existente, obtengo el resultado correcto y todas las demás URL muestran el 404:

  • project.com/login - Bien, página de inicio de sesión

  • project.com/ghdkfgl - 404

Esto se ve claro y parece estar funcionando como se esperaba. Entonces todo lo que agregue después de la barra abre una página existente o una página 404.

A menos que coloque un ''index.php'' en cualquier lugar de la URL. En este caso, Laravel está ejecutando la solicitud por alguna razón como esta:

  • project.com/jhdfkds/index.php/login - Abre la página de inicio de sesión (el CSS y otros recursos se han ido debido a las rutas pero eso está claro).

  • project.com/kfhjdsg/index.php/fkdhsg - Abre un 404 (pero el CSS y otros recursos no se cargan también).

Estoy seguro de que ambos deberían abrir el 404 ya que no hay tales rutas en mi proyecto.

También verifiqué el mismo comportamiento en el sitio web de documentación de Laravel (supongo que está basado en Laravel).

Que podria estar causando esto? ¿Cómo se puede resolver esto?

¿Por qué Laravel incluso consideraría el ''index.php'' en el medio de la URL?

¿Tiene esto algo que ver con el archivo .htaccess? (No lo edité)


El problema está dentro de la clase de Request Symfony y cómo determina la URL base. Básicamente se supone que si tiene una solicitud como aaa/index.php que su script actualmente en ejecución (llamado index.php ) está dentro del directorio aaa toma aaa/index.php como URL base.
Más tarde, se eliminará del URI de solicitud real.

Solucioné este comportamiento no deseado con una solicitud de extracción que se encuentra actualmente en revisión. Actualizaré esta publicación tan pronto como se fusione.