勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

お名前.comの共用サーバでRewriteRuleを使う方法

      2015/07/15

以前メモした「日本語込みのURLをRewriteRuleで書き換える」というものを、お名前.comの共用サーバに入れたかった。VPSで動作確認したhtaccessファイルを共用サーバに入れても動かなかった。

まず、やりたい事と動かない書き方と動いた書き方をメモ。

 

■やりたい事

「http://hoge.com/あいうえお/」というURLを叩いた際に「http://hoge.com/index.php?param=あいうえお」を叩いたことにさせたい。

 

■動かない例(htaccess)

 

■動いた例(htaccess)

 

※2015/07/15追記

RewriteBaseの設定の有無が原因っぽい。なので、短く書くなら以下の形でいける。

 

 


 

 

ここからは経緯。何故動かないのか分からないのでググってみると、公式内のよくある質問に、「ファイル制御に関する記述は一部ご利用いただけません」という中に「RewriteEngine On」という例がある。

 

■該当ページ

http://help.onamae.com/app/answers/detail/a_id/9096

 

ただ、共用サーバでWordPressを入れているところがあり、そちらではパーマネントリンクを変更しており、「http://hoge.com/記事名/」という形で動いていたので、何らかの解決策はありそう。

さらに調べると若干似たようなケースで解決されているブログがあった。

 

■参考サイト

http://agilmente.com/blog/2013/02/12/seezoo_sd/

 

RewriteCondというのははじめて見た。RewriteRuleの条件を設定できるらしい。ただ、良くある質問ではRewriteRuleはhtaccessで使えないみたいに書いていて、原因がよく分からない。

反省点としてVPSで使えたから共用サーバでも大丈夫だろう、みたいな考えは危険というもの。お名前.comのサーバで物を作ることも多いので、レンタルサーバー&VPSのどっちもで検証の必要有り。

 - htaccess

  関連記事

htaccessでダイジェスト認証を行う方法

何かで調べ物をしていたときにdigest認証というものを見かけた。apacheの ...

htaccessでスマホ判別とCookie制御する方法

サイトを閲覧しているデバイスがスマホ且つ特定のCookieの値が入っているユーザ ...

日本語込みのURLをRewriteRuleで書き換える

※2015/07/15追記 こちらの記事の方がやりたい事は同じだけど、もっとスマ ...

htaccessについて

#正規表現いりそうなので後回しで覚える AuthName "php user" ...

どのページを開いても「メンテナンス中です」と表示させる方法

メンテナンスする際にどのページURLを叩いても「只今メンテナンス中です」と出した ...

PHPにて自動でファイルを呼び出す(auto_prepend_file)

設定ファイルとかをinclude('config.php')みたいに、 いちいち ...

海外IPの制限

海外IPの制限を行ったので手順のメモ。 まず「サーバー立てたらすぐ攻撃が来る」と ...

htaccessを置いてあるフォルダのファイルを参照

曖昧だけどhtaccessでベーシック認証とかIP制限かかってる フォルダ内のプ ...

日本語込みのURLをRewriteRuleで書き換える2

以前にメモをした「日本語込みのURLをRewriteRuleで書き換える」という ...

フォルダにリンク制限をかける

imgというフォルダがあり、直接URLを叩いても 中身を見られないけど、同一サー ...