読者です 読者をやめる 読者になる 読者になる

「Apache」jsessionid が付加された場合に CSS ファイル等が正常に取得できない場合の対処

Cookie とか使えない環境で ( あと、初回アクセス時とか )、以下みたいに href 属性とかに
jsessionid が付加されて、正常にファイルが取得できない場合がある。

<link href="../css/test.css;jsessionid=1234567890abcdef" rel="stylesheet" type="text/css" />

※ ちなみに Tomcat 側に CSS ファイル等配置している場合は正常に取得できそう。

対処として mod_rewrite を使用してみたので、その時のメモ。
以下のような設定を追記してやる。

RewriteEngine on
RewriteRule ^/css/test.css;jsessionid=(.*) /css/test.css

これで、"/css/test.css;jsessionid=1234567890abcdef" みたいな GET リクエストが、
"/css/test.css" みたいな感じに書き換えられて、ファイルが正常に取得できる。


ドキュメントは以下になる。
http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewriterule

日本語訳、分かりやすかったので、以下参考にさせていただきました。
http://net-newbie.com/trans/mod_rewrite.html#RewriteRule

< 環境 >
Apache 2.4.4

以上。