プリティーURL設定

プリティーURLってなんですか?

このサイトのURL。これはプリティーURLです。

01.プリティーURL.PNG

で、プリティーURLにする前のがこれ。

02.プリティーじゃないURL.PNG

「index.php」がついてますね。これが隠されているのがプリティーURLです。

これだけならまあいいかなって思わなくもないんですが(時々見かけるし)、このまま下層のページに行くと、「con5.stockmyheart.tokyo/index.php/ xxx / xxxxx」という感じに、URLの途中に「index.php」が入り込んじゃうんですね。変な感じです。

なので、これを隠す設定をしましょうっていう記事です。

参考リンク:URLとリダイレクト :: concrete5 Japan 日本語公式サイト

チェックひとつで設定完了

管理画面の「システムと設定>SEOと統計>URLとリダイレクト」を開きます。

「URLから index.php を除く」をチェックして、保存ボタンを押します。

普通はこれでOK。

自分で.htaccessファイルに書き加える必要がある場合も

私の場合はこういうのが出ました。

私の使ってるレンタルサーバー「カラフルボックス」は、LiteSpeedというサーバーを使っているので、検知できなかったみたいです。

テキストエリアにはこんなふうに出てます。

>>> Apache 用 <<<
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}/index.html !-f
    RewriteCond %{REQUEST_FILENAME}/index.php !-f
    RewriteRule . index.php [L]
</IfModule>

>>> nginx 用 <<<
location / {
    try_files $uri $uri/ /index.php?$query_string;
}

カラフルボックスの機能(他社比較)のWebサーバーのところを見てみると、

WebサーバーにはApacheとの完全な上位互換である「LiteSpeed」を採用しています。

とあります。

さっきのテキストエリアに出ていた「Apache用」の部分を、.htaccessファイルに書き足せばいいっていうことらしいです。

.htaccessファイルがないときは、自分でファイルを作ってアップロードすればOK。テキストエディタでファイルを作って、ファイル名を.htaccess(拡張子は付けない)にします。注意点は、プレーンテキスト・最後を改行しておく・文字コード「UTF-8」BOMなしで保存すること、だそうです。

参考リンク
.htaccessファイルの書き方と設定・設置方法 [ホームページ作成] All About

- - -

ちなみにレンタルサーバーのファイルマネージャーで見てもこのファイルが表示されてないことがあるので、FTPソフトで.htaccessファイルの存在の有無をきっちり確認します。(カラフルボックスではファイルマネージャーから.htaccessファイルが見えませんでした。)

.htaccessファイルをダウンロードして、内容を書き足して、保存して、アップロードします。

エラー出ました(私の場合)

- - - ここからは、私の環境で起こったエラーです。たぶん一般的ではないです - - -

あ、あれ?

アップロードできないよ??

仕方ない、いったんプリティーURLをオフにしてみよう…

げ!何も出てこにゃい!

そして、トップページ以外はアクセス不能!!

手動でオフに戻し、先に.htaccessをアップロードしてからもう一度設定

焦って解決方法を検索すると、

プリティーURLをONでアクセス不能 :: concrete5 Japan 日本語公式サイト

という記事がみつかりました。同じ状況になってる人がいるみたいです。記事には、「/ application / config / generated_overrides / concrete.php」を書き直すとプリティーURLを手動でオフにできるとあります。

applicationフォルダの中をたどっていって、

concrete.phpをダウンロードして、'seo'の true を false に…(日本語公式サイトの記事を必ず参照してくださいね!)

で、アップロード…

あ、アップロードできるのね。なんで?

これでプリティーURLがオフになったはずなので、さっき書き加えた.htaccessも先にアップロードしておこう。アップロードできるのかなぁ…?

あ、できました。.htaccessもアップロードしました。

そしてあらためて、「管理画面>SEOと統計>URLとリダイレクト」へ行って、「URLから index.php を除く」をチェックして保存してみます。

今度はうまくいきました!

トップページ以外もちゃんとアクセスできます。URLもプリティーになってます。

書き加えた.htaccessは、管理画面からプリティーURLの設定をオフにしても内容は変更されないようです(オフにしてダウンロードしてみたら書き加えたままになってました)。

concrete5難しいです…

 

編集モードのときはindex.phpが入りますけど、エラーではありません。大丈夫です。

 

エラーが出ると本当に焦るので(せっかく作ったのにゴミになってはたまらん!)、解決してよかった…。

サーバーがApacheじゃなくnginxのとき

サーバーがApacheじゃなくnginxのときは、.htaccessが使えないそうです(一部レンタルサーバーを除く)。

プリティーURLをONにしたところトップページ以外がnot foundとなる。 :: concrete5 Japan 日本語公式サイト に、

nginx などであれば、
・.htaccess の設定を参考に、nginx の設定を作成してください。
参考:http://a-lab.biz/588

とありますのでご紹介しておきます。…これ以上のことはわかりません。すみません。

ConoHaWINGの場合

インストールの記事を書くために、「ConoHa WING」でもconcrete5をインストールしました。せっかくなのでこっちでも試してみた記録です。

01.プリティーURL1.png

これがConoHaWINGにインストールしたconcrete5のURLです。プリティーじゃありませんね。

ConoHaWINGは、独自ドメインには独自SSLが設定できて自動的に鍵マークになるんですが、これは初期ドメインなので(なのかはわかりませんが)鍵マークになりませんでした。まあ、そこはいいです、テストなので。

さっきと同じように、管理画面>システムと設定>SEOと統計>URLとリダイレクトを開いて、「URLからindex.phpを除く」にチェックを入れて保存します。

そしたら、あらら、出ました。

もしかしてこれが普通なんじゃ?って一瞬思いました。

ConoHaWINGのサーバーはなんぞい。見てみよう。

機能一覧|レンタルサーバーならConoHa WING

あ、Apacheとnginx? どうすりゃいいの?

下までスクロールしたらこんなのがありました。

.htaccessをコントロールパネルから簡単に編集できます。

これは助かる。

ConoHaWINGのコントロールパネルに行って、「サイト管理>サイト設定>応用設定」を開くと、ありました。

.htaccess設定をクリックします。

入力欄が出ました。鉛筆をクリックして編集可能にして、

さっきのApache用の部分をコピペして、保存します。

08.プリティーURL10.png

サイトに戻ってみると、ぶじにプリティーURLになってました。もちろん他のページも。

実は、カラフルボックスのときと同じようにFTPで確認してみたら、こちらには.htaccessファイルがありませんでした。そして、管理画面に何も出ず、トップページ以外はアクセス不能という状況は同じでした。

ただConoHaWINGの管理画面から.htaccess編集ができたので、手動でphpファイルを書き換えてオフに戻したりすることなくプリティーURLにすることができました。