静的なURIにするには。

しらぎくモバイルシステムはCGIですので、通常のご利用では、コンテンツは動的と思われるURIになります。

このため、URIがちょっと長くなってしまいます。

しかし、アパッチサーヴァでエクストラパスとmod_rewriteが利用出来る環境であれば、静的な短いURIにする事も可能です。

尚、この方法を実際に利用するには、第4.283版(平成19年 1月15日)以降にアップデートされる事を強く推奨します

静的なURIにするには・目次。

静的なURIにするための条件。

静的なURIに読み替えるためには、CGIでは必ずエクストラパスを利用するようにして下さい。

実際の手順。

以下、

CGIの設置ディレクトリ
http://www.xxx.net/cgi/
サイトの最上位ディレクトリへの公称URI(実際のアクセスで使われるURI)
http://www.yyy.net/

とします。

また、HTML文書の拡張子は「.html」とします。

  1. 先ず、設定スクリプト「KConfig.pl」での設定変数$this_addr(当システムの設置アドレス)に空文字列を指定した状態で、スクリプトを設置します。

    そして、PCブラウザにCGIの設置ディレクトリのURIを入力してCGIが正常に動作している事を確かめて下さい。

    正常に動作しない場合は、設定が間違っている可能性がありますので、正しく動作するまでは次のステップに入らないようにして下さい。

  2. 正常に動作する事を確認したら、いよいよ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]
  3. 続いて、設定スクリプト「KConfig.pl」に於いて変数$this_addr(当システムの設置アドレス)にはこの最上位ディレクトリへのURIに変更します。

    すなわち、

    $this_addr='http://www.yyy.net/';

    と変更します。

  4. 変更した設定スクリプト「KConfig.pl」を設置し直します。
  5. 公称URIでアクセスしてみて、リンクや画像表示が正しく機能している事を確かめて下さい。

トラブルシューティング。

正常にHTMLさえ表示されない

この場合、.htaccessの記述が正しくないか、URIが間違っているなどが考えられます。

先ず、.htaccess内に四つある[L]の内、二番目から四番目の三つを[R,L]に書き換えて、正常にCGIのURIに書き換えられているかどうかを確かめて下さい。

.htaccessを修正するなどして正常に動作した場合は、[R,L]を三つとも[L]に戻して下さい。

画像が正しく表示出来ない

この場合、一番目の[L][R,L]に書き換え、「公称ディレクトリのURI/img.cgi」が正しく「CGI設置ディレクトリ/img.cgi」にリダイレクトされる事を確かめて下さい。

.htaccessを修正するなどして正常に動作した場合は、[R,L][L]に戻して下さい。



ページ外へのご案内。