日本語URLを.htaccessで301転送を行う際の注意点

SEO

PAK86_codeing20140517-thumb-815xauto-17052

サイトであるページのURLが変更になった際の転送方法、SEOに有効な転送といえば.htaccessによる301転送ですが、今回、このブログでも301転送を行ったのですがうまくいかず、試行錯誤した結果を記載したいと思います。

URLを変更

wordpressのデフォルト機能でついている「カテゴリ」機能ですが、当初、「未分類」となっていたのですが、見栄えが悪いなと思いとりあえず「ブログ」というカテゴリ名に変更しました。で、その時URLをhttps://singlecross.comcategory/ブログ/としていたのですが、日本語URLが具合悪いので、https://singlecross.comcategory/all/に転送しようと考えました。

.htaccessに記載

転送する際に記載した.htaccessの内容は下記の通りです。

RewriteEngine on
RewriteBase /
RewriteRule ^category/ブログ/(.*)$ https://singlecross.comcategory/all/ [R=301,L]

しかし転送がうまくいかない。。
で、日本語そのまま書いているのが悪いんじゃないかと思い、
URLエンコードして下記で記載。

RewriteEngine on
RewriteBase /
RewriteRule ^category/%E3%83%96%E3%83%AD%E3%82%B0/(.*)$ https://singlecross.comcategory/all/ [R=301,L]

これでもうまくいかない。
色々調べましたが
Rewriteの仕組み自体がおかしいのか?と思い
単純にRedirectで転送した方がいいのか?と考え

Redirect 301 /category/ブログ/ https://singlecross.comcategory/all/

これでもうまくいかない。。

Redirect 301 /category/%E3%83%96%E3%83%AD%E3%82%B0/ https://singlecross.comcategory/all/

URLエンコードしてもうまくいかない。。

散々調べた結果ファイルの文字コードが問題だった

何度やってもうまくいかないので色々検索したけっかもんだいは.htaccessのファイルの文字コードが問題でした。

要は、.htaccessの文字コードがShift_JisだったのをUTF-8に修正してようやくうまくいきました。

.htaccessのファイルはUTF-8で!
うまくいかない人は文字コードを変更して試してみてください。

細かなミス一つで動作しなくなってしまうので、覚えておきたいですね。

SEO全て
maccchanをフォローする
ブログの虎
タイトルとURLをコピーしました