ITインフラ技術の実験室ITインフラ技術の実験室Linuxを中心に、仮想化やネットワーク、Windowsまで、ITインフラ技術に関するノウハウを幅広く紹介します。FancyURL-2化し、その後CustomURL化すると、以下の通りシンプルなURLでアクセス可能となります(CustomURL化するためには、まずFancyURL-2化する必要があります)。FancyURL-2http://www.example.jp/item/1/catid/1CustomURLhttp://www.example.jp/item_1.html事前確認Apacheにてmod_rewriteが利用可能なことが条件なのでまずはその確認を行います。mod_rewriteはリバースプロキシサーバで主に使用される機能で、例えば静的コンテンツと動的コンテンツでサーバを分ける際などに利用する機能ですが、ここでは自サーバ宛のURLを書き換えるために使用します。/etc/apache2/mods-available/*write*/etc/apache2/mods-available/rewrite.loada2enmodでシンボリックリンクを張ります。allの設定が必要であり、さらに.htaccessだとRewriteLogによるURL書き換えログの出力が使用できないため、以下の通りApache2の設定ファイルを修正します。9←アクセス時のURL書き換えのログを確認後、0にすることでログ出力を止めます。mod_rewrite.c>mod_rewrite.c(mod_rewrite)が有効な場合処理を行うという意味になります。当サイトでは有効なので処理を行います。onmod_rewriteの処理を有効に設定します。RewriteCond~置き換え(RewriteRule)処理を行う条件を設定します。指定したファイルが存在すればtrueなので、リクエストのあったURLのファイルorディレクトリが無い場合に、後に続くRewriteRuleを適用します。RewriteRule実際の置き換えルールになります。[QSA]...クエリ文字列部分を追加します。この時、マッチした部分が、$1の換わりに使用されます。[L]...条件にマッチした場合そこで判定を終了します(以下に続くRewriteRuleを評価しない)ログの確認については後述しますが、URLを除いたパスが$1に格納されます。最後にapacheの再起動をします。.www:/var/www/example#Nucleus側の設定まず、Nucleusをインストールしたパスにあるindex.phpを修正します。'http://www.example.jp';include('./config.php');管理エリアのグローバル設定においてURLモードを「FancyURLモード」に変更してFancyURL-2化は終了です(プラグインのインストールは不要です)。URL変換した際のログを確認FancyURL化されたリンクをクリックします。(例)http://www.example.jp/item/1/catid/1に一回アクセスした際のログを以下に載せておきます。いうファイルもディレクトリも無いので、http://www.example.jp/index.php?virtualpathがitem/1/catid/1というリクエストに変換されています。0にして、以降はログの出力がされないようにしておきます。/var/www/example/nucleus/plugins/にアップロードし、再度、index.phpを編集します。URLプラグインをインストールします。以上で、CustomURL化も終了です。FancyURL-2化時点ではhttp://www.example.jp/item/1/catid/1というURLだったページが、CustomURL化によりhttp://www.example.jp/item_1.htmlでアクセス可能となりました。コメントをキャンセルメールアドレスが公開されることはありません。