mod_rewriteでwwwの有無を統一する

URLに「www」がついているのとついていないサイトについて

http://www.hoge.com/

http://hoge.com/

の2つのURLがあるとして、どちらも表示される内容は同じでもSEOの観点で見ると別サイトと取られてしまいページランクが下がってしまうことがある。

これは俗に重複URL問題と言われる(キリッ

2009年に入ったあたりからようやく対策として「rel=”canonical”」が提言されるようになってきてはいるが、最初からmod_rewriteを使って「www無しのURLからwww有りのURLへリダイレクトしちゃえばいいんじゃな〜い?」というわけでその方法をメモメモ。

ここでは、仮ドメインを「hoge.com」としmod_rewriteの記述を.htaccessに行うものとする。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^hoge.com$
RewriteRule ^/(.*)$ http://www.hoge.com/$1 [R=301,L]

やってることを説明すると、
www無しのアクセスに対して、www付きURLへ301リダイレクトをかけてるだけ。
/(スラッシュ)以降のURLもそのまま引き継げるのでGETパラメータでの処理にも対応可能。
POSTパラメータはどうなるのかはやったことないので不明。
でもおそらくPOSTは渡せないんじゃないかなと予想。

mod_rewriteを用いて動的URLを静的URLに変換する

静的URLでアクセスし、GETパラメータを渡す方法のメモ。

具体例を挙げると

http://www.hoge.com/item/(****)/

http://www.hoge.com/item.html?id=(****)

という風に変換する場合について記述する。
ここでは(****)は数字のみという前提で話を進める。
もちろん、数字以外でも応用可能だが正規表現の話になるのではここでは割愛。

方法は以下の2種類
[1]httpd.confに直接記述した後にApacheをリロード(または再起動)
[2].htaccessに記述

どちらも記載する内容は以下の通り

RewriteEngine on
RewriteRule ^item/([0-9]+)/$ item.html?id=$1 [L]

この2行でOK。

mod_rewriteでエラーが出る場合、以下の点をチェックしてみると解決できるかも。カモ肉おいしいよね。

[1]Apacheにmod_rewriteが読み込まれていない
→httpd.conf内を「mod_rewrite」で検索してみるのが最も手っ取り早い。

[2]httpd.confに直接書いてから、Apacheをリロードしていない
→とりあえずApacheをリロード。

[3]Options ディレクティブにFollowSymLinksが記載されていない
→.htaccessで処理する人にはありがちかと。というか自分がまさにこれを忘れがち。

感心せざるを得ない

このスレが面白かったです。

ベア速 楽しい五七五を書くと、悲しい七七で台無しにされるスレ

スレの趣旨もそうですが、ネタのクオリティも高いです。

自分でも上前半の五七五だけ読んで、下の七七を考えてみたものの全然面白いのが浮かんでこない。
笑点の謎かけだったら、答え出る前に当たる確立そこそこあるんですが(´д`

当ブログで使用してるPlugin一覧メモ

NP_AdminPreview(URL)
記事投稿画面でプレビュー表示が可能。
スタイルシートや画像などで視覚面での表示確認したい時の為に導入。

NP_Captcha(URL)
コメント投稿フォームにCAPTCHA(画像認証)を追加。
スパム防止の為、必須。
いや、別にコメントがいっぱい来るかもとかそんな浅はかな考えは全然無いですよ?
「誰が、こんなヘンピなブログにコメントを残すと思ってるのか?うぬぼれがすぎる!」
「自意識過剰乙」とかやめて!
そんなにいじめないで!ゴミを投げな(ry
とか思ったりもしたわけですが、
コメントスパムのターゲットにされるだけでサーバにドエライ負荷がかかってしまうので
それをスパムによる負荷増加を未然に防ぐという意味で導入。

NP_Counter(URL)
カウンタ機能追加。
男は黙ってテキストカウンター(゜д゜

NP_CustomURL(URL)
URLを動的リンクから静的リンクへ変更。
SEO対策の為に導入。

NP_ExtraSkinJP(URL)
部品を作る機能と独立ページを作る機能。
独立ページをいくつかは作るかもしれないのでとりあえず導入。

NP_LinkList(URL)
リンク集管理プラグイン。
とりあえずリンクページに使ってますが、直書きでもよさそうな気がしなくも。

NP_Ping
Ping送信。
これもなんとなくググッたら目に付いたので導入。

NP_SEOSitemaps(URL)
「Googleウェブマスターツール」用のサイトマップを作成。
SEO対策。

NP_ShowBlogs(URL)
ブログをページスイッチつきで表示。
むしろデフォルトの状態ではページスイッチングが無いという環境に絶望した!
喫茶店でチャーハンを注文した時に厨房の方から「チーン!」っていう電子レンジの音が聞こえたときくらい絶望した!!

NP_TrackBack(URL)
トラックバック機能を追加。
トラックバック発祥はMovableTypeだそうですね。びっくりです。

NP_LatestWritebacks(URL)
最新のコメントとトラックバックを表示。

アメブロ更新の仕方を教える

20100517-ameblo.png

PCさっぱりな人にはブログですらも未知の領域。
興味なければ一生触れることもないモノですし。

〜 アメブロ更新方法教える直前の会話 〜
「私ー、デジカメの写真をPCに取り込めるんで初心者じゃないですよー」(゜ω゜*)

「(デジカメの写真を取り込めるから・・・?初心者じゃない・・・だと?)」(゜д゜)

「あっ、いえ!初心者です!ブログ更新のやり方、宜しくお願いします。」(゜ω゜;*)

「(しまった!なんか私がKYみたいな感じになってしまった!)」Σ(゜д゜|||)

〜〜〜〜〜〜

とまぁ、そんなことがあったのでPC知識のギャップの差を改めて認識。

毎日ネットしてると忘れがちになりますが、
世間では「Google」って言葉もあんまり浸透してなかったりしますよね。
まして「ツイッター」も聞いたことあるけどよくわからないという人ばかりでした。

・・・ワード・エクセル使えたら世間一般ではPCの達人なんですよね・・・(遠い目)

Javascriptの参考に

Ajaxや動画サイトまたはgoogleMapなどで必須の技術となってるJavascriptですが、下記のサイトが初心者向けの解説サイトとしていいなと思ったのでメモがわりにリンク。
基本文法の解説は勿論、第3部移行はjQueryやHTAなど実践的な解説なんかもあって便利です。

マンガで分かる JavaScriptプログラミング講座

とりあえず遊(主人公)がダメ人間すぎる