2013-08-28 10 views
12

私はLavarelフレームワークの初心者です。私はMVCの構造について知っています。私はASP.net内で使用していたので、Laravelを使用するとかなり混乱します。私が使用してphotozoomディレクトリ内LaravelをインストールしたLaravel PHPフレームワークの新機能。 "/"以外のルートは機能しません

composer create-project laravel/laravel photozoom --prefer-dist 

は、ここに私のapp/routes.phpです:

<?php 

Route::get('/', function() 
{ 
    return View::make('hello'); 
}); 

Route::get('users', function() 
{ 
    return 'users route is working!'; 
}); 

私はhttp://localhost/photozoom/public/usersを実行すると、私は404 Not Foundエラーを取得します。

しかし、http://localhost/photozoom/public/を試してみると/のルートが呼び出され、対応するビューが呼び出されます。

私はさらにusersルートのビューを作成しようとしました。 Laravelのドキュメントを使用する。私は404 Not Found errorを得るhttp://localhost/photozoom/public/usersを呼び出すと、

@extends('layout') 

@section('content') 
    Users!!! 
@stop 

しかし、それでもまだ:

layout.blade.php

<html> 
    <head> 
     <title>Laravel Quickstart</title> 
    </head> 
    <body> 
     <h1>Laravel Quickstart</h1> 

     @yield('content') 
    </body> 
</html> 

users.blade.php私は2つのファイルを作成しました。私はPHP 5.5は、Apache 2.4.6を使用してい

<IfModule mod_rewrite.c> 
    Options -MultiViews 
    RewriteEngine On 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

は、ここに私のpublic/.htaccessファイルです。

ご協力いただければ幸いです。


のmod_rewriteを有効にした後、私はあまりにもAllowOverrideを有効にする必要がありました を解決しました。

+0

あなたの '.htaccess'には何がありますか? mod_rewriteを有効にしていますか? – Maerlyn

+3

「mod_rewriteを有効にした後、AllowOverrideも有効にする必要があります。 ?あなたは詳細に行くことができますか? – Sliq

答えて

19

今はhttp://localhost/photozoom/public/index.php/usersを試してください。そして、pretty URLsを有効にします。

+0

うーん、 'index.php'を追加すると解決しました。しかし、どうすればきれいなURLを有効にできますか?私は 'mod_rewrite'を有効にしました。しかし、いいえ。私は質問に「.htacces」を追加します。 –

+1

あなたはそれを解決できてうれしいです。 – Franz

7

/publicディレクトリの.htaccessファイルは、きれいなURLを有効にします。

  • Apache2のは、mod_rewriteのは、あなたが」に.htaccessファイルを許可 にAllowOverrideのオプションを使用する必要があり、あなたのApacheの設定では(a2enmodリライト)
  • を有効にしておく必要があります。その作業を行うための.htaccessファイルのために あなたのデフォルトのApache2 設定を上書きしてください。たとえば、

<Directory /var/www/photozoom/> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 
0

2 AllowOverrideのは、httpd.confファイルにあります。

<Directory /> 
    AllowOverride All 
    Require all denied 
</Directory> 

DocumentRoot "D:/www" 
<Directory "D:/www"> 
    AllowOverride All 
    Require all granted 
</Directory> 
0

は、Windows 10を実行している場合、あなただけの十分な単純な一つのことを行う必要があります。

新しいフォルダをc:/ wamp64/www /と から作成し、laravelフォルダからすべてのファイルをコピーし、作成したフォルダに貼り付けてください。

関連する問題