似乎
Laravel可以满足所有请求,包括简单的静态文件下载。
因此,在可能有数十个资产的简单网页请求中,每个请求将启动一个 php 进程。
人们在选择nginx而不是apache时讨论的主要优势之一是在提供大量静态文件时具有更高的性能,那么在使用Laravel时,这些静态文件是否作为动态php文件加载?
让我们看一下 Laravel 附带的默认.htaccess
文件。
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
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]
</IfModule>
重要的部分是两个RewriteCond
。如您所见,请求是文件还是目录,它不会重写为 index.php。因此,如果您请求静态文件,您不必担心,Laravel不会引导。
关于404错误
它显示了Laravel错误页面,因为如果找不到该文件,RewriteCondition将允许它通过index.php