Entendiendo el enrutamiento de Laravel por primera vez
La instalación de Laravel recomienda que la instalación de Composer sea relativamente simple, ¡y las máquinas virtuales oficiales como Homestead son demasiado problemáticas y hostiles para los principiantes!
Mi entorno es Win10+phpstudy+php7.4.3+Apache2.4.39
Dado que se instala a través de Composer, el último Laravel8.33.1 Ps se instala directamente : win10 win+R ingresa al directorio de instalación de laravel y ordena php craft --version para ver la versión de Laravel.
En primer lugar, routes/wep.php
como se muestra en el archivo:
Route
es una clase ::
que llama al método estático en esta clase.El método
aquí get
significa aceptar una get
solicitud, post
la misma razón.
El primer parámetro '/'
representa el acceso a la página de inicio. vamos sencillo哈喽,我的!
Route::get('/', function () {
return view('welcome');
});
Route::get('article',function (){
return view('article');
});
Luego resources/views
crea un nuevo directorio con article.blade.php
el contenido como
<?php
echo "哈喽,我的!";
Luego acceda http://www.laravel.test/article
al resultado e informe un error 404 Not Fount
El http://www.laravel.test/index.php/article
resultado del acceso fue exitoso
El motivo es un Apache
módulo sin abrir rewrite
.
Después de encenderlo, reinícielo Apache
y descubrí que todavía no funciona.
Después de buscar, probé un método efectivo.
Hay un archivo .htaccess en el directorio público. Ábralo en blanco y complete el siguiente contenido.
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options +FollowSymLinks
</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]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
Salga , guarde y reinicie Apache para
http://www.laravel.test/article
acceder con éxitoApache
httpd.conf
AllowOverride
None
All
None