php laravel laravel-4

php - laravel tags



La ruta de guía de inicio rápido de Laravel no funciona (9)

Ok, soy nuevo en Laravel, así que fui directo a la documentación para comenzar. Hay agujeros masivos en la documentación, por lo que llevó mucho esfuerzo y Google para llenar los vacíos para obtener la configuración de Laravel. Ahora lo tengo configurado y pasé al siguiente paso de la guía de inicio rápido. Creé mi ruta

Route::get(''users'', function() { return ''Users!''; });

Ahora dice:

Now, if you hit the /users route in your web browser, you should see Users!

Así que golpeé:

http://localhost/laravel/users

pero consigue un 404? Lo intenté

http://localhost/laravel/public/users

pero todavía un 404? Seguí los pasos de la guía de inicio rápido de la carta, ¿qué me estoy perdiendo?


El problema está bien explicado por Rubens anteriormente. Una solución más simple es usar el servidor PHP incorporado provisto al emitir este comando

php artisan serve --port=8080

Tenga en cuenta que estoy usando el puerto 8080 aquí, puede omitirlo. Ahora puede navegar por el sitio yendo a

localhost/users

y debería funcionar!


En mi caso ( Ubuntu 14.04 LTS & Apache 2.2 ), estaba estancado en el paso # 1 de la solución de @Rubens. Pude ver la página con esta url: http://localhost/laravel/index.php/users pero el paso 2 y otros no funcionaron.

También intenté agregar RewriteBase /laravel/public a .htaccess pero tampoco funcionó.

Luego, configuré un nuevo host virtual con la ayuda de este increíble tutorial: https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts (se balancean con estos tuts)

Además del tutorial, configuré DocumentRoot (en el archivo example.com.conf ) de esta manera:

DocumentRoot /var/www/laravel/public

Sí, el public es el gran problema aquí.

Por cierto, no pongas RewriteBase /laravel/ en tu archivo .htacces , de lo contrario obtendrás un error HTTP/500 .

Ahora, puedo ver la página example.com/users .



Gracias. El conocimiento de lo anterior por @rubens, y un comentario de @GaryJ here me hizo hacer esto para que funcione desde mi archivo de hosts virtuales de Apache.

Copié estas líneas del archivo .htaccess en laravel dentro del nodo de la configuración de vhosts. Se eliminó mi archivo .htaccess (de todos modos no se aplicó, estoy en un host virtual de apache de Windows, laravel env)

RewriteEngine On # Redirect Trailing Slashes... RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]

Mejor: luego leyó la respuesta de @ Ag0r0, eso funcionó. me faltaba la anulación de permiso, haciendo que lo anterior fuera necesario. una vez que allowoverride todo estaba allí, la configuración predeterminada sí funcionaba.


Parece que su aplicación Laravel es accesible a través de un alias Apache HTTP, porque su URL se ve así: http://localhost/laravel/ . Si este es el caso y suponiendo que http://localhost/laravel está apuntando a su directorio público, entonces siga estos pasos:

  1. Intente navegar a su ruta esperada antes que con /index.php/ , en su caso: http://localhost/laravel/index.php/users . Si funciona (no 404), entonces su problema es con la configuración del Rewrite Module de Apache HTTP, debe seguir los siguientes pasos.
  2. Edite el archivo public/.htaccess .
  3. Debajo de la línea RewriteEngine On add RewriteBase /laravel/ .
  4. Intenta navegar a una ruta existente.

Básicamente, si su aplicación reside en un alias o directorio virtual (digamos http://localhost/alias ) debe agregar una entrada en su regla de reescritura para reescribir el directorio base con alias .


Sé que esta pregunta tiene 4 años pero aún tiene su significado. A Rubens Mariuzzo se le respondió correctamente, pero quiero agregar algunos puntos al respecto. Tu dijiste

"Hay agujeros masivos en la documentación, por lo que llevó mucho esfuerzo y Google para llenar los vacíos para obtener la configuración de Laravel".

Para los principiantes es difícil encontrar la forma correcta de configurar Laravel. Una vez que se domina es divertido desarrollar Laravel :). Hay cierta manera correcta de hacer esto.

  1. Descargar Laravel
  2. Configurar DB
  3. Mapa DB en .env
  4. Hacer auth: php artisan make: auth
  5. Crear modelo y migración juntos: php artisan make: modelo Todo -m
  6. Migrar: php artesanal migrar
  7. Crear controlador y rutas juntas: php artisan make: controlador TodoController --resource
  8. Crear vista para cada acción
  9. Codifique el controlador

La descripción detallada se da en este blog http://masterlaravel.blogspot.in/2017/08/laravelquick-start-composer-create.html


Tuve el mismo problema y pasé horas para resolverlo. Tengo varias aplicaciones bajo el mismo dominio, pero en diferentes segmentos. Así que la URL de Laravel es http://myhostname/mysubdir/

Mis controladores solo funcionaban como http://myhostname/mysubdir/index.php/mycontroller

En /var/www/.../public/.htaccess puse RewriteBase /mysubdir y funcionó !!!


mi publicación anterior con la descripción del problema se eliminó, pero fue similar a la situación que se describe aquí.

de todos modos ... simplemente intenté todas las posibilidades que aquí se describen, así como en otras páginas, y no encontré solución a mi problema.

La nueva instalación de Laraval simplemente no funcionó ... Después de probar cada cosa de este post, decidí crear otra instalación nueva y ocurrió un milagro. Esta instalación realmente está funcionando ...

Así que mi consejo es: si no puede solucionar este problema, intente crear otra instalación del laravel y, en realidad, podría funcionar.

De hecho, esta podría ser la forma más fácil de solucionar su problema en caso de que esté comenzando desde el scrach.


por favor, consulte esta siguiente url y vea la configuración de RoboTamer:

http://forums.laravel.io/viewtopic.php?id=511

resolvió mi problema igual que el tuyo

solución en nginx:

servidor {

server_name .laravel.dev; root /home/tamer/code/laravel/public; index index.php index.html; #browse folders if no index file autoindex on; # serve static files directly location ~* /.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; } # removes trailing slashes (prevents SEO duplicate content issues) if (!-d $request_filename) { rewrite ^/(.+)/$ /$1 permanent; } # enforce NO www if ($host ~* ^www/.(.*)) { set $host_without_www $1; rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent; } # canonicalize codeigniter url end points # if your default controller is something other than "welcome" you should change the following if ($request_uri ~* ^(/lobby(/index)?|/index(.php)?)/?$) { rewrite ^(.*)$ / permanent; } # removes trailing "index" from all controllers if ($request_uri ~* index/?$) { rewrite ^/(.*)/index/?$ /$1 permanent; } # unless the request is for a valid file (image, js, css, etc.), send to bootstrap if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?/$1 last; break; } # catch all error_page 404 /index.php; location ~ /.php$ { try_files $uri =404; fastcgi_pass unix:/tmp/php.socket; fastcgi_index index.php; #include fastcgi_params; include /home/tamer/code/nginx/fastcgi_params; } access_log /home/tamer/code/laravel/storage/logs.access.log; error_log /home/tamer/code/laravel/storage/logs.error.log;

}