Pagekit(CMS)でURLを正規化する.htaccess【スターサーバー】
スターサーバーライトを使いPagekit(アメリカのCMS)でサイトを作っていますが、.htaccessの設定がちょっと特殊だったので紹介します。まず第一に、Pagekitがデフォルトで設定している.htaccessでは正規化されていないという問題があります。
わたしも.htaccessの細かい書き方はめんどうなので覚えていませんし、こうやればOKということしかわからないのでご了承ください。
Pagekit(CMS)でURLを正規化する.htaccess【スターサーバー】
# URL rewrites
<IfModule mod_rewrite.c>
RewriteEngine On
# Set base if your site is running in a VirtualDocumentRoot
# RewriteBase /
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
5行目の# RewriteBase /の下にhttpをhttpsに転送する記述とwwwをwwwなしに転送する記述がありますが、もともと書いてあった記述を消して書き直しています。
はまった点としてはこの記述を末尾に書き足したところ、ログイン画面がトップページにリダイレクトされてしまうようになりました。
そこで上記のように書き直したところURLは正規化されログインもできるようになりました。
URL正規化はサーバーごとに若干やり方が違う場合がります。その場合はサーバーごとに期日を調べていけば成功するパターンも見つかるでしょう。
301リダイレクトって意外とネットに書いてあるとおりやっても出来ない時ありますからね…。