しらぎくモバイルシステムはCGIですので、通常のご利用では、コンテンツは動的と思われるURIになります。
このため、URIがちょっと長くなってしまいます。
しかし、アパッチサーヴァでエクストラパスとmod_rewriteが利用出来る環境であれば、静的な短いURIにする事も可能です。
尚、この方法を実際に利用するには、第4.283版(平成19年 1月15日)以降にアップデートされる事を強く推奨します。
静的なURIに読み替えるためには、CGIでは必ずエクストラパスを利用するようにして下さい。
以下、
とします。
また、HTML文書の拡張子は「.html」とします。
先ず、設定スクリプト「KConfig.pl」での設定で変数$this_addr
(当システムの設置アドレス)に空文字列を指定した状態で、スクリプトを設置します。
そして、PCブラウザにCGIの設置ディレクトリのURIを入力してCGIが正常に動作している事を確かめて下さい。
正常に動作しない場合は、設定が間違っている可能性がありますので、正しく動作するまでは次のステップに入らないようにして下さい。
正常に動作する事を確認したら、いよいよmod_rewriteに依るURI読替昨日の実装に入ります。
まずサイト最上位ディレクトリへの公称URIとなるディレクトリに以下の内容の.htaccessを設置します。
RewriteEngine on
RewriteCond %{REQUEST_URI} \/img\.cgi
RewriteRule (.*) http://www.xxx.net/cgi/$1 [L]
RewriteCond %{REQUEST_URI} \.html$ [OR]
RewriteCond %{REQUEST_URI} \.html\?
RewriteRule (.*) http://www.xxx.net/cgi/K.cgi/$1 [L]
RewriteCond %{REQUEST_URI} /$ [OR]
RewriteCond %{REQUEST_URI} /\?
RewriteRule (.*) http://www.xxx.net/cgi/K.cgi/$1 [L]
RewriteCond %{REQUEST_URI} /[^^\/\.\?]+\?
RewriteRule ([^\?]*)\?(.*) http://www.yyy.net/$1/?$2 [R=301,L]
RewriteCond %{REQUEST_URI} \?
RewriteRule (.*) http://www.xxx.net/cgi/K.cgi/$1 [L]
RewriteCond %{REQUEST_URI} /[^^\/\.]+\Z
RewriteRule (.*) http://www.yyy.net/$1/ [R=301,L]
続いて、設定スクリプト「KConfig.pl」に於いて変数$this_addr
(当システムの設置アドレス)にはこの最上位ディレクトリへのURIに変更します。
すなわち、
$this_addr='http://www.yyy.net/';
と変更します。
この場合、.htaccessの記述が正しくないか、URIが間違っているなどが考えられます。
先ず、.htaccess内に四つある[L]
の内、二番目から四番目の三つを[R,L]
に書き換えて、正常にCGIのURIに書き換えられているかどうかを確かめて下さい。
http://www.xxx.net/cgi/K.cgi/hoge.html
にリダイレクトされなければなりません。.htaccessを修正するなどして正常に動作した場合は、[R,L]
を三つとも[L]
に戻して下さい。
この場合、一番目の[L]
を[R,L]
に書き換え、「公称ディレクトリのURI/img.cgi」が正しく「CGI設置ディレクトリ/img.cgi」にリダイレクトされる事を確かめて下さい。
http://www.xxx.net/cgi/img.cgi
にリダイレクトされなければなりません。.htaccessを修正するなどして正常に動作した場合は、[R,L]
を[L]
に戻して下さい。