5

登録したルートはすべて機能しています。それらはビューを表示しますが、リクエストごとに NotFoundHttpException がログファイルに表示されます。

私はNGINXを使用しています。それは私のNGINX構成でしょうか?

すべてのリクエストでログに記録されるエラー (ビューが表示されても):

log.ERROR: exception 'Symfony\Component\HttpKernel\Exception\NotFoundHttpException' in /usr/share/nginx/www/example-staging/releases/20130815024541/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1429
Stack trace:
#0 /usr/share/nginx/www/example-staging/releases/20130815024541/vendor/laravel/framework/src/Illuminate/Routing/Router.php(1050): Illuminate\Routing\Router->handleRoutingException(Object(Symfony\Component\Routing\Exception\ResourceNotFoundException))
#1 /usr/share/nginx/www/example-staging/releases/20130815024541/vendor/laravel/framework/src/Illuminate/Routing/Router.php(1014): Illuminate\Routing\Router->findRoute(Object(Illuminate\Http\Request))
#2 /usr/share/nginx/www/example-staging/releases/20130815024541/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(530): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#3 /usr/share/nginx/www/example-staging/releases/20130815024541/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(506): Illuminate\Foundation\Application->dispatch(Object(Illuminate\Http\Request))
#4 /usr/share/nginx/www/example-staging/releases/20130815024541/content/index.php(49): Illuminate\Foundation\Application->run()
#5 {main}

NGINX 構成:

# Redirect www.
server {
    listen 80;
    server_name www.example.com;
    rewrite ^(.*) http://example.com$1 permanent;
}

server {
    listen 80;
    server_name example.com;

    access_log /var/log/nginx/example.com/access.log;
    error_log /var/log/nginx/example.com/error.log;
    rewrite_log on;

    root /usr/share/nginx/www/example/current/content;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~* \.php$ {
        # Server PHP config.
        fastcgi_pass                    unix:/var/run/php5-fpm.sock;
        fastcgi_index                   index.php;
        fastcgi_split_path_info         ^(.+\.php)(.*)$;

        # Typical vars in here, nothing interesting.
        include                         /etc/nginx/fastcgi_params;
        fastcgi_param                   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    if (!-d $request_filename) {
        rewrite ^/(.+)/$ /$1 permanent;
    }

    location ~ /\.ht {
        # (deny .htaccess)
        deny all;
    }
}
4

1 に答える 1

10

これはNGINXの設定とは何の関係もありませんでした。

ファビコンへのパスが正しくありませんでした。Web インスペクタではすべてのステータスが OK または 304 だったので、すべてのリソースが見つかったと思いました。インスペクタはネットワーク タブにファビコンを表示していないと思います。

Rubens Mariuzzo が述べたように、access.log はファビコンがステータス 500 であることを明らかにしました。

補足として、Laravel が 404s/Resource Not Found エラーとしてログ ファイルに記録するのを止めたい場合はglobal.php、次のようにファイルを編集できます。

App::error(function(Exception $exception, $code)
{
    // Don't log 404s
    if ($exception instanceof Symfony\Component\HttpKernel\Exception\NotFoundHttpException) {
        return;
    }

    Log::error($exception);
});
于 2013-08-15T05:56:28.797 に答える