My Photo

« composerのインストール | Main | Excelで就業時間を計算する式を考えた »

April 07, 2015

URLリライトの復習その2

関連記事:
UbuntuサーバのApache2でURLリライトを試してみる
URLリライトの復習とIE11のUser-Agent
.htaccessの有効化とサブディレクトリのアクセス制御

CentOSでのURLリライト

以前、URLリライトについての記事を書いた時は動作確認に Ubuntu Server を使っていたが今はCentOS(6.6)を使っているので、URLリライトが使えるか調べてみた。
/etc/httpd/conf/httpd.conf を見ると

LoadModule rewrite_module modules/mod_rewrite.so

という記述があるのでデフォルトでURLリライトが有効になっている。あとは .htaccess を使えるようにすれば .htaccess でURLリライトが可能になる。

サブディレクトリの.htaccessのRewritBaseとRewriteRule

RewriteRuleは書式は以下である。

RewriteRule <Pattern> <Substitution>

いろいろ試してわかったことを以下に箇条書き。

  • パターンと照合される入力値は相対パスである。スラッシュではなく名前から始まる。よって、パターンとして "/○○" では入力値と一致しない。相対パスが一致するようなパターンを考えなければならない。
  • Substitutionは "/" で始まればドキュメントルートからのパス。名前から始まれば相対パスである。
  • パターンに一致して書き換えられた場合、RewriteBaseがあれば書き換えられたURL(のパス名)は "RewriteBaseの値+<Substitution>" が結果となる。

具体例として、以下のようなディレクトリ、ファイル構成を考える。

/(ドキュメントルート)
├abc.html
├sub
│├.htaccess
│├abc.html
・・
・・
・・

/sub/.htaccess(RewriteBaseとRewriteRurleのみ抜き出したもの)とその場合にURLリライトの結果の表を以下に示す。

例1

RewriteBase /sub/
Rewrite ^test\.html$ abc.html
元のURLのパス名 URLリライトへの
入力
URLリライトの
出力
書き換えられた
URLのパス名
/sub/test.html test.html abc.html /sub/abc.html
/sub/sub2/test.html sub2/test.html パターンに
一致しない
-

例2

RewriteBase /sub/
Rewrite ^.*test\.html$ abc.html
元のURLのパス名 URLリライトへの
入力
URLリライトの
出力
書き換えられた
URLのパス名
/sub/test.html test.html abc.html /sub/abc.html
/sub/sub2/test.html sub2/test.html abc.html /sub/abc.html

例3

Rewrite ^test\.html$ /abc.html
元のURLのパス名 URLリライトへの
入力
URLリライトの
出力
書き換えられた
URLのパス名
/sub/test.html test.html /abc.html /abc.html

« composerのインストール | Main | Excelで就業時間を計算する式を考えた »

Linux」カテゴリの記事

プログラミング、技術情報」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/61405934

Listed below are links to weblogs that reference URLリライトの復習その2:

« composerのインストール | Main | Excelで就業時間を計算する式を考えた »

March 2017
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof