Rotas que não funcionam sem index.php

Estou usando laravel 4.

Eu tenho uma visão nest.blade.php e o controlador correspondente NestController.php:

Conteúdo do controlador:

 class NestController extends BaseController { public function showView() { return View::make('nest'); } } 

Rota:

 Route::get('/nest', 'NestController@showView'); 

Quando eu vou ao url / nest, não funciona. Quando eu vou para url / index.php / nest, isso funciona.

Obviamente, eu só quero que seja / aninhe sem index.php.

Como posso resolver isto?

Meu htaccess:

 IfModule mod_rewrite.c>  Options -MultiViews  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]  

URLs bonitas

O framework é fornecido com um arquivo público / .htaccess que é usado para permitir URLs sem index.php. Se você usar o Apache para atender seu aplicativo Laravel, certifique-se de habilitar o módulo mod_rewrite .

Se o arquivo .htaccess que acompanha o Laravel não funciona com a instalação do Apache, experimente este:

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

Para obter mais ajuda relacionada, verifique esta resposta .

Eu habilitei o módulo mod_rewrite no servidor Apache HTTP, o serviço Apache reiniciado e testei novamente e TRABALHOU !!!

Abaixo está o código que eu usei para habilitar mode_rewrite;

1) Un-Hash esta linha no Apache / conf / httpd.conf

Módulos LoadModule rewrite_module / mod_rewrite.so

2) Crie uma nova configuração para “amostra-projeto” sem modificar a configuração padrão no arquivo httpd.conf

 Diretório "C: / Apache24 / htdocs / sample-project">
   Índices de Opções FollowSymLinks MultiViews
   AllowOverride All
   Pedido permitir, negar
   Permitir a todos
 Diretório>

Esteja em alerta! Se não estiver funcionando, mesmo depois de habilitar o módulo de reescrita. Você precisa alterar a linha “AllowOverride None” para “AllowOverride All” em httpd.conf.

Como @ The Alpha alertado, Laravel não precisa ser configurado para este propósito.

Quando você altera a linha AllowOverride None para AllowOverride All em httpd.conf certifique-se de fazê-lo dentro de que contém um caminho válido.

Exemplo

  #check path Options Indexes FollowSymLinks AllowOverride All