105

変更する必要があり、.htaccess理解できない行が2つあります。

RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

これらの行をいつ使用する必要がありますか?

4

3 に答える 3

228

完全なチュートリアルを提供する場所ではありませんが、ここでは簡単に説明します。

RewriteCondは基本的に「これが true の場合にのみ次の RewriteRule を実行する」という意味です。!-lパスは、リクエストがリンクに対するものではないという条件です (ないことを意味し、リンクを!意味し-lます) 。

RewriteRuleは基本的に、一致^(.+)$する (サーバー ルート以外の任意の URLに一致する) 要求が行われた場合、に書き換えられるindex.php?url=$1ことを意味します。これは、の要求olleが に書き換えられることを意味しますindex.php?url=olle)。

QSA元の URL で渡されたクエリ文字列がある場合、それが書き換えに追加されることを意味します (olle?p=1として書き換えられindex.php?url=olle&p=1ます .

Lルールが一致する場合、これより下の RewriteRules を処理しないことを意味します。

詳細については、上記のリンクを参照してください。書き換えのサポートは把握するのが少し難しいかもしれませんが、学ぶべきスタックオーバーフローの例がかなりあります。

于 2012-09-23T10:30:11.887 に答える
0

versionこれにより、 release、 、 などのファイルに対する要求がキャプチャされますREADME.md。これらは、定義されている場合 (/release の場合のように) エンドポイントとして扱われるか、「見つかりません」として扱われる必要があります。

于 2017-09-13T04:50:23.170 に答える