vistas usar plantillas para index gratis for descargar ciclo auth php controller routes laravel-5

php - usar - laravel 5 solo funciona la ruta raíz



usar blade sin laravel (2)

Alterar el archivo .htaccess funcionaría en este escenario por documento oficial de laravel 5 como se muestra a continuación:

Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]

Soy nuevo en laravel. Estoy usando Ubuntu 15.04. Instalé Laravel Framework versión 5.1.7 (LTS) usando compositor y un servidor de lámpara usando el comando $ sudo apt-get install lamp-server^ (no instalé Homestead). Estoy usando PhpStorm 8.0.3 como IDE.

Creé tres rutas y un controlador. El archivo PagesController.php ve así:

class PagesController extends Controller { public function index() { return ''Welcome to my homepage!''; } public function about() { return ''Learn a little about me.''; } public function hello() { return ''Hello World!''; } }

y el routes.php ve así:

Route::get(''/'', ''PagesController@index''); Route::get(''about'', ''PagesController@about''); Route::get(''hello'', ''PagesController@hello'');

Cada vez que voy a http://localhost:63342/my-first-app/public/ (o http://localhost:63342/my-first-app/public/index.php ) funciona bien y me muestra la Welcome to my homepage! mensaje. Pero cada vez que voy a http://localhost:63342/my-first-app/public/hello o http://localhost:63342/my-first-app/public/about , lo que obtengo es el mensaje 404 Not Found .

Además, el archivo .htaccess que se encuentra en my-first-app/public ve así:

<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>

Lo que he intentado:

  • http://localhost:63342/my-first-app/public/index.php/hello o http://localhost:63342/my-first-app/public/index.php/about pero no funciona trabajo tampoco
  • sudo a2enmod rewrite comando sudo a2enmod rewrite seguido de sudo service apache2 restart pero tampoco funciona.
  • Intenté composer dump-autoload pero tampoco funciona.
  • Cambié AllowOverride de None a All en apache2.conf . Ahora parte de esto se ve así:

    <Directory /> Options FollowSymLinks AllowOverride All Require all denied </Directory> <Directory /usr/share> AllowOverride All Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> <Directory /srv/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

    pero tampoco resuelve el problema.

Actualización (15/07/2015):

El resultado de ejecutar php artisan route:list ve así:

+--------+----------+-------+------+--------------------------------------------+------------+ | Domain | Method | URI | Name | Action | Middleware | +--------+----------+-------+------+--------------------------------------------+------------+ | | GET|HEAD | / | | App/Http/Controllers/PagesController@index | | | | GET|HEAD | about | | App/Http/Controllers/PagesController@about | | | | GET|HEAD | hello | | App/Http/Controllers/PagesController@hello | | +--------+----------+-------+------+--------------------------------------------+------------+


He tenido este problema molesto por mucho tiempo. Pruebe el siguiente código en el archivo .htaccess

<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::/2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^index/.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule .? - [L] RewriteRule .? %{ENV:BASE}/index.php [L] </IfModule>