初次了解Laravel的路由
Laravel的安装推荐Composer安装比较简单,官方给的Homestead之类的虚拟机太麻烦,对初学者很不友好!
我的环境是Win10+phpstudy+php7.4.3+Apache2.4.39
由于是通过Composer安装,所以直接安装的最新Laravel8.33.1
Ps:win10 win+R进入laravel安装目录命令php artisan --version查看Laravel版本。
首先,在routes/wep.php
文件中如图:
Route
是一个类::
是调用这个类里的静态方法
这里get
方法表示接受一个get
请求,post
同理。
第一个参数'/'
代表访问首页。来个简单的哈喽,我的!
Route::get('/', function () {
return view('welcome');
});
Route::get('article',function (){
return view('article');
});
然后在resources/views
目录下新建article.blade.php
内容为
<?php
echo "哈喽,我的!";
然后访问http://www.laravel.test/article
结果报错404 Not Fount
访问http://www.laravel.test/index.php/article
结果成功
原因是未开启Apache
的rewrite
模块。
开启之后,重启Apache
,发现还是不行。
查了一圈,我尝试有效的方法
在public目录下有个.htaccess文件打开为空白填入以下内容
<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>
退出保存重启Apache
http://www.laravel.test/article
访问成功
Ps:查的有些说是要改Apache
的httpd.conf
文件中的AllowOverride
后None
改为All
,我没做任何修改,还是None