LoginSignup
0
3

More than 5 years have passed since last update.

コピペしていた .htaccess を読む

Last updated at Posted at 2017-03-09

今までコピペしていた .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 なので最初は ヒィー! ムズカシソ- :scream: って拒絶反応がでますが、
よく見る:eyes:と英語をペンパイナッポーケース:pencil2::pineapple:で記述しているだけです。

とうことで、英語の意味を調べます。

英語 読み方 意味
modify モデファイ 変更・修正
rewrite リライト 書き換え
condition コンディション 条件
rule ルール ルール

あとは、パイナップル:pineapple:にペン:pencil2:を刺す要領です。

rewiteconditionRewriteCond となり、意味は「書き換え条件」です。

rewiteRuleRewriteRule となり、意味は「書き換えルール」です。

これなら、何をしているのかわかります :thumbsup:

最初に記述したコードには、RewriteCond が2つあります。

書き換えの条件を2つ指定しているということです。

書き換えの条件を満たす場合に、RewriteRule の書き換えのルールに従って、書き換えをしているということですね :grinning:

%{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です。

何となく理解できました :muscle:

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3