「スマートURL」の版間の差分
提供: baserCMS公式ガイド
(→設定方法) |
|||
(3人の利用者による、間の8版が非表示) | |||
行1: | 行1: | ||
スマートURLとはbaserCMSで作成されたサイトのURLを、デフォルトのものより短くする機能です。 | スマートURLとはbaserCMSで作成されたサイトのURLを、デフォルトのものより短くする機能です。 | ||
− | |||
== 機能の概要 == | == 機能の概要 == | ||
− | baserCMSではPHPフレームワークである[http://cakephp.jp/ | + | baserCMSではPHPフレームワークである[http://cakephp.jp/ CakePHP]を利用しています。これはCakePHPに限らずですが、多くのPHPフレームワークではそのURLにルールがあり、URLを解析することで、実行するクラスやメソッドを特定し、内部処理を行なって表示を出力しています。 その為、どのようなURLでも必ず共通して通過する処理があり、URLを表示すると以下の例のように「index.php」というファイル名がURLの中に含まれてしまいます。 |
例)ページ名「about」を表示するURL | 例)ページ名「about」を表示するURL | ||
行16: | 行15: | ||
</pre> | </pre> | ||
+ | ※ baserCMS 3.0.9 からは、初期状態でスマートURLが設定された状態でインストールされます。 | ||
== 設定方法 == | == 設定方法 == | ||
− | + | システム管理のサイト基本設定にあるオプションからスマートURL利用の有無を設定できます。 | |
− | < | + | |
− | + | baserCMSの初期状態では、URLにおいて、baserCMSを設置したフォルダの配下に「index.php」というファイル名が含まれてしまいます。 | |
− | <br /> | + | |
− | + | <pre> | |
− | + | (例) | |
− | <br /> | + | http://{baserCMS設置URL}/index.php/about/index |
− | + | </pre> | |
− | </ | + | |
− | + | スマートURL機能とは、上記のようにWebサイトのURLの間に挟まってしまう「index.php」を除外し、通常のわかりやすいURL表示に変更する機能です。 | |
+ | |||
+ | <pre> | ||
+ | (例) | ||
+ | ・スマートURLオフ:http://{baserCMS設置URL}/index.php/contact/index | ||
+ | ・スマートURLオン:http://{baserCMS設置URL}/contact/index | ||
+ | </pre> | ||
+ | |||
+ | スマートURLを実現するには、次の項目を確認してください。<br /> ・Apache の Rewrite モジュールがインストールされていること<br /> ・.htaccess が利用できるように設定されていること<br /> ・apacheの設定で AllowOverride を On に設定されていること | ||
+ | |||
+ | スマートURLの設定は、管理画面の「システム設定」より行えます。管理システムからスマートURLをオンにするためには {baserCMSの設置フォルダ}/.htaccess と {baserCMSの設置フォルダ}/app/webroot/.htaccess に、Webサーバ実行ユーザの書き込み権限が必要です。 | ||
+ | |||
+ | スマートURLの設定はサーバー環境に深く依存します。 「オン」に変更した場合、サーバーエラーとなり画面にアクセスできなくなる可能性もありますのでご注意ください。 | ||
+ | |||
+ | [動作確認済レンタルサーバー一覧][1]より各種レンタルサーバーの動作状況を確認できます。 | ||
+ | |||
+ | ## 手動でスマートURLを設定する | ||
+ | |||
+ | baserCMSはPHPが動作する全てのサーバーで動作できる事を目標としていますが、サーバーの環境によっては どうしてもアナログな作業が必要な場合があります。<br /> ここでは、その対応方法についてご説明します。 | ||
+ | |||
+ | **<span style="color:red;">「手作業での設定」が必要となるのは下記の場合です</span>** | ||
+ | |||
+ | * インストール画面を開いた場合にCSSがリンク切れになり正常に表示できない | ||
+ | * 管理システムでスマートURLをオンにした場合に「Internal Server Error 500」が発生してしまう。または、CSS が正常に読み込まれなくなり画面が崩れてしまう。 | ||
+ | |||
+ | ### .htaccessの設定 | ||
+ | |||
+ | * 下記2箇所に設置されている .htaccess を開きます。<br /> {baserCMSの設置フォルダ}/.htaccess<br /> {baserCMSの設置フォルダ}/app/webroot/.htaccess | ||
+ | * 各 .htaccess ファイルに、スマートURLのためのRewrite設定について解説の記述がありますので、解説文にしたがってRewrite設定を有効にして下さい。 | ||
+ | |||
+ | <small> | ||
+ | ※ .htaccess は特殊なファイルなので、ファイルを開く際には、Terapad や EmEditor 等の、メモ帳以外のテキストエディタ(ソフトウェア)をご利用下さい。<br /> ※ サーバーによっては、RwriteBaseの設定値を見直す必要がある場合があります。うまくいかない場合は、[ユーザーズフォーラム][2]でご質問ください。 | ||
+ | </small> | ||
+ | |||
+ | ### install.phpの設定 | ||
+ | |||
+ | * インストール画面を開く前に{baserCMSの設置フォルダ}/app/Config/install.php を開き次の行を追記し、サーバーにアップロードします。 | ||
+ | <pre> | ||
+ | Configure::write('App.baseUrl', ''); | ||
+ | </pre> | ||
+ | * インストール画面を開き、正常に表示されていれば完了です。 | ||
+ | [1]: http://basercms.net/hosting/index | ||
+ | [2]: http://forum.basercms.net/ "ユーザーズフォーラム" | ||
== Rewriteモジュールと、.htaccessファイル == | == Rewriteモジュールと、.htaccessファイル == |
2016年4月4日 (月) 13:17時点における最新版
スマート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
※ baserCMS 3.0.9 からは、初期状態でスマートURLが設定された状態でインストールされます。
設定方法[編集]
システム管理のサイト基本設定にあるオプションからスマートURL利用の有無を設定できます。
baserCMSの初期状態では、URLにおいて、baserCMSを設置したフォルダの配下に「index.php」というファイル名が含まれてしまいます。
(例) http://{baserCMS設置URL}/index.php/about/index
スマートURL機能とは、上記のようにWebサイトのURLの間に挟まってしまう「index.php」を除外し、通常のわかりやすいURL表示に変更する機能です。
(例) ・スマートURLオフ:http://{baserCMS設置URL}/index.php/contact/index ・スマートURLオン:http://{baserCMS設置URL}/contact/index
スマートURLを実現するには、次の項目を確認してください。
・Apache の Rewrite モジュールがインストールされていること
・.htaccess が利用できるように設定されていること
・apacheの設定で AllowOverride を On に設定されていること
スマートURLの設定は、管理画面の「システム設定」より行えます。管理システムからスマートURLをオンにするためには {baserCMSの設置フォルダ}/.htaccess と {baserCMSの設置フォルダ}/app/webroot/.htaccess に、Webサーバ実行ユーザの書き込み権限が必要です。
スマートURLの設定はサーバー環境に深く依存します。 「オン」に変更した場合、サーバーエラーとなり画面にアクセスできなくなる可能性もありますのでご注意ください。
動作確認済レンタルサーバー一覧より各種レンタルサーバーの動作状況を確認できます。
手動でスマートURLを設定する
baserCMSはPHPが動作する全てのサーバーで動作できる事を目標としていますが、サーバーの環境によっては どうしてもアナログな作業が必要な場合があります。
ここでは、その対応方法についてご説明します。
「手作業での設定」が必要となるのは下記の場合です
- インストール画面を開いた場合にCSSがリンク切れになり正常に表示できない
- 管理システムでスマートURLをオンにした場合に「Internal Server Error 500」が発生してしまう。または、CSS が正常に読み込まれなくなり画面が崩れてしまう。
.htaccessの設定
- 下記2箇所に設置されている .htaccess を開きます。
{baserCMSの設置フォルダ}/.htaccess
{baserCMSの設置フォルダ}/app/webroot/.htaccess - 各 .htaccess ファイルに、スマートURLのためのRewrite設定について解説の記述がありますので、解説文にしたがってRewrite設定を有効にして下さい。
※ .htaccess は特殊なファイルなので、ファイルを開く際には、Terapad や EmEditor 等の、メモ帳以外のテキストエディタ(ソフトウェア)をご利用下さい。
※ サーバーによっては、RwriteBaseの設定値を見直す必要がある場合があります。うまくいかない場合は、ユーザーズフォーラムでご質問ください。
install.phpの設定
- インストール画面を開く前に{baserCMSの設置フォルダ}/app/Config/install.php を開き次の行を追記し、サーバーにアップロードします。
Configure::write('App.baseUrl', '');
- インストール画面を開き、正常に表示されていれば完了です。
Rewriteモジュールと、.htaccessファイル[編集]
スマートURLを利用するには、サーバー環境として2つのポイントがあります。一つ目はRewriteモジュールと呼ばれる、URLの内部書き換えや、サーバーの環境変数などに応じたリダイレクトを可能とするモジュールで、スマートURLもこのモジュールを利用してURLの書き換えを行なっています。
二つ目は「.htaccess」というファイルです。これはディレクトリ毎にサーバーの設定を一部設定・変更する為のファイルで、スマートURLを使うためには必須のファイルです。
スマートURLを利用するためには、上記のRewriteモジュールと.htaccessの両方が利用できる環境が必要です。利用できるかどうかはサーバーによって異なりますので、正確な情報はサーバー管理者に問い合わせてください。
対応していないサーバーでスマートURLの設定を行うと、CSSが崩れたり、各ページを正常に表示できず「404エラー」が出る事があります。
テキスト寄贈:馬庭 吾一@株式会社ヒニアラタ