Laravel のルーティングを初めて理解する -- Apache の書き換えモジュールを開く

Laravelのルーティングを初めて理解する

LaravelのインストールはComposerのインストールが比較的簡単であることを推奨しており、公式から与えられるHomesteadなどの仮想マシンは面倒で初心者には不親切!

私の環境はWin10+phpstudy+php7.4.3+Apache2.4.39です。


Composer を介してインストールされるため、最新の Laravel8.33.1 Psが直接インストールされます: win10 win+R は、laravel のインストール ディレクトリに入り、Laravel のバージョンを表示するコマンド phpArtisan --version を実行します。Laravelのバージョンを確認する
まず、routes/wep.phpファイルにあるように、このクラス内の静的メソッドを呼び出す
ここに画像の説明を挿入
Routeクラスですが、ここでのメソッドとはリクエストを受け付けるという意味で同様の理由です。最初のパラメータは、ホームページへのアクセスを表します。さあ、シンプルに::
getgetpost
'/'哈喽,我的!

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>

正常に
http://www.laravel.test/articleアクセスするには
終了して保存し、Apacheを再起動します。Apachehttpd.confAllowOverrideNoneAllNone

おすすめ

転載: blog.csdn.net/qq_43662579/article/details/115012623