« 1月 2010 2月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 3月 »

  • 携帯サイト用.htaccessの生成(IPアドレス制限)
  • 2010.02.10
  • 携帯専用サイトの場合、IPアドレスによるアクセス制限をし、PCからのアクセスを禁止することがあると思いますが、以下のサイトでは各キャリアのIPアドレスのみアクセス許可した.htaccessを生成してくれるのでとても便利です。


     http://www.dspt.net/tools/mobile_ip/

  • auでhttpsからhttpページへの遷移時にエラーが出る件
  • 2010.02.09
  • 携帯サイトでhttps内のページからhttp内のページにリンクをした場合、ドコモとソフトバンクは正常に表示されるが、auだけが「リクエストされたページは表示できません」という画面が表示され、リンク先ページを表示できませんでした。
    リンク先は定数で指定しており、以下のようになっておりました。


    <a href=”<?= HOMR_URL ?>”>トップページ</a>


    これだとダメだったのでContent-Typeの指定等をいろいろ変えたりして試してみましたが結局だめだったので、リンク先の指定方法を定数ではなく、通常のURLで指定しなおしたら治りました。


    <a href=”http://hoge.com/”>トップページ</a>


    実は定数HOME_URLは以下のように設定してあり、環境変数を参照していました。
    define(”HOME_URL”,   ”http://”  . $_SERVER["HTTP_HOST"]);


    define(”HOME_URL”,   ”http://hoge.com”);
    このようにすると、リンク指定をHOME_URLでも大丈夫なようになったので、どうやらauでは期待した通りに環境変数が取得できていなかった模様 :shock:

  • .htaccessのdeny from all で apacheのTestPageが表示されてしまう
  • 2010.02.07
  • 携帯サイト用にPCからのアクセスを拒否する.htaccessを作成する際、apacheのTestPageが表示されてしまい、対応に時間がかかったため、備忘録として記述します。


    【.htaccessの内容】

    order deny,allow
    deny from all

    #アクセスを許可するIPアドレスを一行ずつ記入する
    allow from 210.153.84.0/24
    allow from 210.136.161.0/24

    #PC用のファイルを指定
    ErrorDocument 403 /error_m/pc.html
    #error_mディレクトリには.htaccessを設置しdeny from allを記述


    これで許可しているIPアドレス以外は/error_m/pc.htmlを表示するのですが、トップページを/(スラッシュ)で終了したURLにアクセスするとapacheのテストページが表示されていました。
    http://www.hoge.com/ → NG(テストページ表示)
    http://www.hoge.com/index.html → OK
    http://www.hoge.com/index.htm → OK
    http://www.hoge.com/index.php → OK


    いろいろ調べたところ、/etc/httpd/conf.d/welcome.confにある以下の内容が影響してるよう。

    <LocationMatch “^/+$”>
        Options -Indexes
        ErrorDocument 403 /error/noindex.html
    </LocationMatch>


    これを全部コメントアウトします。
    いらないらしいけど、一応バックアップは取っておいたほうが安心 ;-)


    これで、httpd再起動後、正常に動作するようになりました。
    service httpd restart

【この記事のタグ】
, , ,
  • 携帯サイトでのmailto使用について
  • 2010.02.05
  • 携帯サイトを作成していて mailto リンクで件名と本文を指定するのに下記のように指定します。
    <a href=”mailto:メールアドレス?subject=件名&body=本文”>
    このとき、件名と本文はURLエンコードする必要があるのだが、キャリアによって渡す文字コードに違いがあります。
    DoCoMo、au は shift_JIS に変換してから URLエンコード、SoftBankはUTF-8にしてからURLエンコードしないと文字化けが起こります。
    ですので、アクセスされた端末を判別し、それに合わせた文字コードに変換しURLエンコードするという手順になります。


    サンプルコードはこんな感じ
    <a href=”mailto:?subject=<?php echo urlencode(mb_convert_encoding(’題名’, ’sjis’));?>&amp;body=< ?php echo urlencode(mb_convert_encoding(’本文’, ’sjis’))?>”>友達に知らせる</a>

【この記事のタグ】
,
Page Top