working toma sirven rutas ruta route reconoce que página poner para pagina not nombre mod_rewrite las index funcionan funciona funcion found esta encuentra ejemplos php laravel routing laravel-routing laravel-3

php - toma - ¿Las rutas de Laravel no funcionan?



rutas en laravel (15)

¿Has intentado agregar esto a tu archivo de rutas en lugar de Route::get(''user'', "user@index") ?

El trozo de texto antes de que el user @ , en este caso, dirija la página al controlador del usuario y el trozo de texto después del index @ , dirigirá el guión a la función public function get_index() user public function get_index() .

Veo que está usando $restful , en cuyo caso puede configurar su Route to Route::any(''user'', ''user@index'') . Esto manejará tanto POST como GET , en lugar de escribirlos ambos por separado.

Acabo de empezar a aprender el framework de Laravel y estoy teniendo un problema con el enrutamiento.

La única ruta que está funcionando es la ruta de inicio predeterminada que se adjunta a Laravel de fábrica.

Estoy usando WAMP en Windows y usa PHP 5.4.3 y Apache 2.2.22, y también tengo habilitado mod_rewrite, y he eliminado el ''index.php'' del archivo de configuración de application.php para dejar una cadena vacía.

Creé un nuevo controlador llamado Usuario :

class User_Controller extends Base_Controller { public $restful = true; public function get_index() { return View::make(''user.index''); } }

Creé un archivo de vista en application / views / user / called index.php con algún código html básico, y en routes.php agregué lo siguiente:

Route::get(''/'', function() { return View::make(''home.index''); }); Route::get(''user'', function() { return View::make(''user.index''); });

La primera ruta funciona bien al visitar la raíz ( http://localhost/mysite/public ) en mi navegador web, pero cuando trato de ir a mi segunda ruta con http://localhost/mysite/public/user obtengo un error 404 No encontrado. ¿Por qué estaría pasando esto?


¿Has intentado verificar si

http://localhost/mysite/public/index.php/user

¿estaba trabajando? Si es así, asegúrese de que todas las carpetas de su ruta no tengan letras mayúsculas. Tuve la misma situación y la conversión de letras a minúsculas ayudó.


Creo que ha eliminado el archivo .htaccess predeterminado dentro de la carpeta pública laravel. carga el archivo, debería arreglar tu problema.


El problema principal de la ruta no funciona es que hay un módulo mod_rewrite.so en macos, Linux no está habilitado en el archivo httpd.conf de la configuración de Apache, también lo puede hacer .htaccess para funcionar. He resuelto esto por descomentar la línea:

LoadModule rewrite_module libexec / apache2 / mod_rewrite.so

Elimina el # de la línea superior httpdf.conf. Entonces funcionará. ¡disfrutar!


En mi instalación Ubuntu LAMP, resolví este problema con los siguientes 2 cambios.

  1. Habilite mod_rewrite en el servidor apache: sudo a2enmod rewrite .
  2. Edite /etc/apache2/apache2.conf , cambiando la directiva "AllowOverride" para el directorio / var / www (que es la raíz de mi documento principal): AllowOverride All

A continuación, reinicie el servidor Apache: service apache2 restart


Estaba teniendo el mismo problema al usar EasyPHP. Encontré que tenía que especificar AllowOverride All en mi bloque <Directory> en httpd.conf . Sin esto, Apache a veces ignora tu .htaccess .

El mío terminó luciendo así ...

<Directory "D:/Dev"> Options FollowSymLinks Indexes #### NEXT IS THE CRUCIAL LINE #### AllowOverride All Order deny,allow Allow from 127.0.0.1 Deny from all Require all granted </Directory>


Intente habilitar etiquetas cortas de php en su php.ini. WAMP los usa normalmente y laravel los necesita.


No olvides " RewriteBase " en tu public/.htaccess :

Por ejemplo :

Options +FollowSymLinks RewriteEngine On RewriteBase /your/folder/public


OK, entonces después de criticarme este problema por un poco más de un día ... ¡Me levanté e hice lo que DEBERÍA haber hecho ayer, y DEJÉ DE PROBAR lo que estaba pasando!

Lo que Laravel está TRATANDO de hacer aquí, es insertar el archivo index.php justo en frente de la ruta dada como una Ruta. SO, por ejemplo, si especificaste un Route::get(''/account/create'', ..., y ejecuta tu aplicación desde, por ejemplo, localhost/laravel/authenticate/public/account/create en tu navegador, entonces laravel quiere ejecutar localhost/authenticate/public/index.php/account/create , pero para hacer eso ... Apache necesita ver las solicitudes a través de /wamp/www/laravel/laravel/authentication/public (su ruta puede variar un poco, dependiendo de donde su aplicación laravel está realmente instalada, pero el public final es donde la sustitución debe llevarse a cabo) debe tener una ''RewriteRule'' aplicada.

Afortunadamente, laravel proporciona la regla de reescritura correcta en un práctico archivo .htaccess allí mismo, en la carpeta public su aplicación. El PROBLEMA es que el código en ese archivo ''.htaccess'' no funcionará con la forma en que WAMP está configurado fuera de la caja. El motivo de este SEEMS es el problema sugerido por muvera en la parte superior de este hilo: el código rewrite_module debe ser cargado por Apache antes de que las cosas RewriteRule funcionen. Diablos, esto tiene sentido.

La parte que NO tiene sentido: simplemente stopping y restarting los servicios de Apache no recogerá los cambios necesarios para que WAMP haga lo correcto con su RewriteRule: lo sé, ¡lo intenté muchas veces!

Qué funciona: haga los cambios sugeridos por muvera (vea la parte superior del hilo) para cargar los módulos correctos. Luego, reinicie toda su sesión de Windows, volcando Apache de la memoria por completo. Reinicie (vuelva a cargar) WAMP y VOILA! el arreglo funciona, se aplica el RewriteRule correcto, yada, yada; Estoy viviendo feliz para siempre.

Las buenas noticias de todo esto: ahora sé MUCHO más acerca de los archivos .htaccess , RewriteRule y httpd.conf . Existe un buen argumento (de rendimiento) para mover la lógica del archivo public .htaccess de su aplicación, y colocarla en la sección Directory ... de su httpd.conf en su carpeta Apache ''bin'' BTW (especialmente si tiene acceso a esa carpeta).


Podría intentar mover root/public/.htaccess a root/.htaccess y debería funcionar


Solo corre en tu terminal.

composer dump-autoload


Usando WAMP, haga clic en el ícono wamp -> apache-> apache modules-> scroll y revise rewrite_module Reinicie un LoadModule rewrite_module

Tenga en cuenta que la aplicación de servidor se reinicia automáticamente una vez que habilita "rewrite_module"


debes usar Laravel 5 el comando

class User_Controller extends Controller { public $restful = true; public function get_index(){ return View(''user.index''); } }

y en routes.php

Route::get(''/'', function() { return view(''home.index''); }); Route::get(''user'', function() { return view(''user.index''); });

Laravel 5 cambios de comando para ver y controlador ver la documentación que estaba teniendo el mismo error antes


Rutas

Úselos para definir rutas específicas que no son administradas por los controladores.

Controladores

Úselos cuando quiera usar la arquitectura MVC tradicional

Solución a su problema

No registra controladores como rutas a menos que desee una ruta específica ''nombrada'' para una acción de controlador.

En lugar de crear una ruta para las acciones de sus controladores, simplemente registre su controlador:

Route::controller(''user'');

Ahora que su controlador está registrado, puede navegar a http://localhost/mysite/public/user y se ejecutará su get_index .

También puede registrar todos los controladores de una sola vez:

Route::controller(Controller::detect());


Route::get(''/'', function() { return View::make(''home.index''); }); Route::get(''user'', function() { return View::make(''user.index''); });

cambiar arriba a

Route::get(''user'', function() { return View::make(''user.index''); }); Route::get(''/'', function() { return View::make(''home.index''); });

Tienes que usar ''/'' (inicio / predeterminado) al final en tus rutas