コピペしていた .htaccess を読む
今までコピペしていた .htaccess
の記述を理解するために調べた覚え書きです。
RewriteEngine on
RewriteCond %{REQUEST_URI} !/sp/
RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone)
RewriteRule ^(.*)\.(html|php)$ sp/$1.$2 [R]
RewriteBase /
知識 0 なので最初は ヒィー! ムズカシソ- って拒絶反応がでますが、
よく見ると英語をペンパイナッポーケースで記述しているだけです。
とうことで、英語の意味を調べます。
英語 | 読み方 | 意味 |
---|---|---|
modify | モデファイ | 変更・修正 |
rewrite | リライト | 書き換え |
condition | コンディション | 条件 |
rule | ルール | ルール |
あとは、パイナップルにペンを刺す要領です。
rewite
と condition
で RewriteCond
となり、意味は「書き換え条件」です。
rewite
と Rule
で RewriteRule
となり、意味は「書き換えルール」です。
これなら、何をしているのかわかります
最初に記述したコードには、RewriteCond
が2つあります。
書き換えの条件を2つ指定しているということです。
書き換えの条件を満たす場合に、RewriteRule
の書き換えのルールに従って、書き換えをしているということですね
%{REQUEST_URI} !/sp/
は、アクセスしてきたURLに /sp/
がない場合という意味です。
!
は否定を表していますね。
RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone)
は、アクセスしてきたデバイスが (iPod|iPhone|iPad|Android|Windows\ Phone)
だった場合という意味です。
これらの条件に該当する場合は、^(.*)\.(html|php)$ sp/$1.$2 [R]
というルールでURLの書き換えているということですね。
^(.*)\.(html|php)$ sp/$1.$2 [R]
という記述は、謎記号が連射されているので、正規表現です。
RewriteEngine on
は、定型文のような感じで、書き換えをしたい場合に on
を指定します。
RewriteBase /
は書き換えするときのベースのURLです。
何となく理解できました
Author And Source
この問題について(コピペしていた .htaccess を読む), 我々は、より多くの情報をここで見つけました https://qiita.com/4cres/items/106fa8e7d4bdfb1ca659著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .