Changes between Initial Version and Version 1 of mod_rewriteの使い方(その1)


Ignore:
Timestamp:
Nov 7, 2016, 1:48:53 PM (8 years ago)
Author:
admin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • mod_rewriteの使い方(その1)

    v1 v1  
     1[wiki:WikiStart 戻る]
     2
     3apacheとtomcatの連携設定では、http://ServerIP/hogeへのアクセスがあった場合に
     4画像の取得要求をtomcatへ送信しています。
     5
     6現状では、tomcat配下で管理する画像だとか? CSSなどへの要求もtomcat側へ送信されるため
     7本来は、apache側で処理した方が良い処理をtomcat側で実施しております。
     8
     9そこで、画像データと CSSに関して、apache側で要求を横取りできないか?
     10できれば、その処理の分はtomcatの処理が軽くなります。
     11
     12その仕組みは、apacheのmod_rewriteを使用します。
     13
     14== モジュールの確認 ==
     15apache2.0の場合
     16{{{
     17# /usr/local/apache2/bin/httpd -l
     18で、「mod_so.c」 が表示される事を確認。
     19}}}
     20
     21apache2.2の場合
     22{{{
     23# /usr/local/apache2/bin/httpd -M
     24で、「so_module (static)」 が表示される事を確認する。
     25}}}
     26
     27== モジュールを準備する ==
     28
     29apache2.2の場合
     30{{{
     31cd /usr/local/httpd-2.2.x/modules/mappers/
     32
     33# コンパイル
     34/usr/local/apache2/bin/apxs -c mod_rewrite.c
     35
     36# インストール
     37/usr/local/apache2/bin/apxs -i -a -n rewrite mod_rewrite.la
     38}}}
     39
     40== 定義ファイルの修正 ==
     41
     42{{{
     43# view /usr/local/apache2/conf/httpd.conf
     44
     45以下の行が追加されている事を確認。
     46なければ追加。
     47
     48LoadModule rewrite_module modules/mod_rewrite.so
     49
     50<IfModule mod_rewrite.c>
     51  RewriteEngine   On
     52  RewriteLog "/tmp/rewrite_log"
     53  RewriteLogLevel 0
     54  RewriteRule ^/Hoge/azurite/images/(.*)$ /images/azurite/images/$1 [L]
     55  RewriteRule ^/Hoge/bluelace/images/(.*)$ /images/bluelace/images/$1 [L]
     56  RewriteRule ^/Hoge/themes/(.*)$ /css/$1 [L]
     57  RewriteRule ^/Hoge/hoge/scripts/(.*)$ /scripts/$1 [L]
     58
     59</IfModule>
     60}}}
     61
     62
     63再起動
     64{{{
     65/usr/local/apache2/bin/apachectl restart
     66/usr/local/apache2/bin/apachectl -k graceful <---- 利用者がいる場合の設定再読み込み
     67}}}
     68
     69設定確認
     70{{{
     71# /usr/local/apache2/bin/httpd -M
     72Loaded Modules:
     73core_module (static)
     74
     75
     76userdir_module (static)
     77alias_module (static)
     78so_module (static)
     79php4_module (shared)
     80rewrite_module (shared) ←組み込まれた!
     81Syntax OK
     82}}}
     83