シンプルな 1 つの言語の Web サイトを動的にまとめる方法を理解するのに苦労しています。以下のコードのすべての部分が何を意味するのか、誰かが赤ちゃんの言葉で説明してくれると本当にありがたいです:
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g|pdf)$
RewriteRule (.*)$ templates/index.php [L]
前もって感謝します!
# Enable RewriteEngine to rewrite URL patterns
RewriteEngine On
# Every URI that not (! operator) ends with one of .php, .css, .js, .gif, .png, .jpg, .jpeg or .pdf
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g|pdf)$
# Will be redirected to templates/index.php
RewriteRule (.*)$ templates/index.php [L]
# Sample
# /foo/bar.php -> /foo/bar.php
# /foo/bar.html -> templates/index.php
htaccess は、Web サイトのページの URL を書き換えます。
RewriteEngine On
単純に、あなたの Web サーバー Apache が Rewrite Engine をオンにすることを意味します。
次に、条件を持つ書き換えルールがあります。まず、条件:
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g|pdf)$
条件は、クライアントから要求された URL にあります。上記の URL が .php、.css、.js、.gif、.png、.pdf、.jpg、または .jpeg で終わっていない場合、以下のルールが適用されることを意味します。
RewriteRule (.*)$ templates/index.php [L]
このルールは、「.literally_anything」などの URL の末尾が「templates/index.php」に置き換えられることを意味します。
[L] は、これが最後の書き換え規則であることを意味します。
詳細はこちら: http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/
RewriteEngine を有効にする
RewriteCond は、RewriteRule がいつ開始されるかを定義します。あなたの原因では、ファイル拡張子をチェックしています (この場合ではない場合、!)
RewriteCond が true の場合、リクエストは templates/index.php にリダイレクトされます