個人用ツール

スマートURL

提供: baserCMS公式ガイド

2014年11月1日 (土) 23:53時点におけるTokitake (トーク | 投稿記録)による版

移動: 案内, 検索

スマートURLとはbaserCMSで作成されたサイトのURLを、デフォルトのものより短くする機能です。

 

機能の概要

baserCMSではPHPフレームワークであるcakePHPを利用しています。これはcakePHPに限らずですが、多くのPHPフレームワークではそのURLにルールがあり、URLを解析することで、実行するクラスやメソッドを特定し、内部処理を行なって表示を出力しています。 その為、どのようなURLでも必ず共通して通過する処理があり、URLを表示すると以下の例のように「index.php」というファイル名がURLの中に含まれてしまいます。

例)ページ名「about」を表示するURL

http://www.hoge.com/index.php/about

これではURLが長く不恰好になってしまいます。そこで、baserCMSでは「スマートURL」という機能を搭載し、この「index.php」というファイル名部分を消してしまうことができます。スマートURLをオンにした場合、上述の例は以下のようになります。

http://www.hoge.com/about

 

設定方法

システム管理のサイト基本設定にあるオプションからスマートURL利用の有無を設定できます。この項目には以下の様な注意書きがあります。

スマートURLの設定はサーバー環境に深く依存します。
「オン」に変更した場合、サーバーエラーとなり画面にアクセスできなくなる可能性もありますので注意が必要です。 スマートURLをオンに切り替えた場合、/ フォルダ、/app/webroot/ フォルダ内の「.htaccess」ファイルに、 RewriteBase設定を自動的に書き込みますが、うまく動作しない場合、この設定値を環境に合わせて調整する必要があります。
詳細については、各.htaccessファイルのコメントを確認してください。

詳細は公式サイト「手作業でスマートURLを設定する」を御覧ください。

Rewriteモジュールと、.htaccessファイル

スマートURLを利用するには、サーバー環境として2つのポイントがあります。一つ目はRewriteモジュールと呼ばれる、URLの内部書き換えや、サーバーの環境変数などに応じたリダイレクトを可能とするモジュールで、スマートURLもこのモジュールを利用してURLの書き換えを行なっています。

二つ目は「.htaccess」というファイルです。これはディレクトリ毎にサーバーの設定を一部設定・変更する為のファイルで、スマートURLを使うためには必須のファイルです。

スマートURLを利用するためには、上記のRewriteモジュールと.htaccessの両方が利用できる環境が必要です。利用できるかどうかはサーバーによって異なりますので、正確な情報はサーバー管理者に問い合わせてください。

対応していないサーバーでスマートURLの設定を行うと、CSSが崩れたり、各ページを正常に表示できず「404エラー」が出る事があります。

 

テキスト寄贈:馬庭 吾一@株式会社ヒニアラタ