XAMPPにLAN内のスマフォからアクセスする

XAMPP上で制作したWordpressのIPhoneテーマを確認したい。
MACがあればシュミレータで確認できるけどWINしかない。
IPhoneまたはTouchを持っている。

という、限られた条件の話。


XAMPPにLAN内からアクセスするには、XAMPPを使用しているPCのIPが分かればOKなので、コマンドプロンプトからipconfigと入力する。
WIN7だと、
IPv4アドレス・・・・192.168.xxx.xx
と表示される。
XAMPPでセキュリティの設定をしていなければ、このIPアドレスでIPhoneからアクセスするとXAMPPに繋がる。
※XAMPPでセキュリティ設定していないのに繋がらない場合は、PCのウイルスソフトやセキュリティソフトをチェック。外部からの通信を止めている場合がある。


IPhoneからWordpressにアクセス。
http://192.168.xxx.xx/wordpress/
CSSやリンクがおかしい。
あたり前といえばあたり前だが、Wordpressのインストールは「http://localhost/wordpress/」で行っているので、bloginfoで取得するURLやディレクトリはlocalhostになっている。

「http://localhost/wordpress/」を「http://192.168.xxx.xx/wordpress/」に全て変更するには、
Via:http://dogmap.jp/2011/03/18/wordpress-relative-url/
こちらのコードを使用してURLの書き換えを行う。

// function.php
class relative_URI {
    function relative_URI() {
        add_action('get_header', array(&$this, 'get_header'), 1);
        add_action('wp_footer', array(&$this, 'wp_footer'), 99999);
    }
    function replace_relative_URI($content) {
        $home_url = trailingslashit(get_home_url('/'));
        return str_replace($home_url, 'http://192.168.xxx.xx/wordpress/', $content);
    }
    function get_header(){
        ob_start(array(&$this, 'replace_relative_URI'));
    }
    function wp_footer(){
        ob_end_flush();
    }
}
if (is_apple()) {
    new relative_URI();
}

「get_home_url(‘/’)」で「http://localhost/wordpress/」が取得できるので、「str_replace」で「http://192.168.xxx.xx/wordpress/」に置き換えを行う。

「is_apple()」はWp_TouchのUAチェックを拝借し、IPhoneのみ残したもの。

function is_apple() {
    $useragents = array(
        'iPhone',           // Apple iPhone
        'iPod',             // Apple iPod touch
        'incognito',        // Other iPhone browser
        'webmate'           // Other iPhone browser
    );
    $pattern = '/'.implode('|', $useragents).'/i';
    return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}

これで、テスト環境はOK。

「XAMPPにLAN内のスマフォからアクセスする」への2件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)