Moral Hazard!!

ドラマーが音楽やホームページやガラクタを作るよ。

エラーログにnone, refererが出る。

No Comment html,css,php,,

サーバーのエラーログに

File does not exist: folder/none, referer:http://domain.jp/

とやたら出力される。
気になって当該サイトのFirebugのエラーを見たところ、cssファイルからのリンクエラーが出ていた。
そのcssには

#container {
background-image: url(none);
}

と背景色は白、画像は「無し」を指定してある。

実はこれが問題で、背景を無しと正しく指定するには

#container {
background-image: none;
}

としないとサーバーが404エラーを返してしまう。
こちらに詳しい事が書いてあります。素敵。

何がダメって、Dreamweaverで背景無しを指定しようとcssスタイルをいじくったら、平気で上のソースを吐く事。
もうそろそろエディタ変えないとやばいな。

デザインビューでDreamweaverがフリーズする件

No Comment html,css,php

困ったこと↓

特定のmarginを指定している時だけ、なぜか100%Dreamweaverがフリーズする。
phpのインクルード先に該当コードがある時に、require_onceをコメントアウトしてもフリーズする。
(コメントにしていても読みに行ってしまうのか?)

原因↓

Dreamweaver CS5の現在、そのままではclearfixがデザインビューに反映されない。
clearfixを使用してデザインビューを見ると、親Boxのheightが効いていないのに加え、CSSスタイルパネルが延々と表示の更新が繰り返されたり、上記のような特定のcssでフリーズする。

対処↓

clearfixにoverflow: hidden;を追加する。

clearfix分の表示も整い、フリーズも消えた。

IE7以下で、背景が消える

No Comment html,css,php

cssでショートハンドを使って背景を指定した場合、背景が消えることがある。

その場合はリセット用CSSに{background: transparent;}が指定されてないか確認。

IE6ではこのリセットのあとにショートハンドで背景色を指定すると、反映されないバグがある。

対策・該当箇所をショートハンドで背景を指定しない。

hetemlの共有SSLにCakePHPをインストールする方法

No Comment html,css,php

レンタルサーバーhetemlで共有SSlを使うと、urlがhttps://ssl***.heteml.jp/ユーザーネーム/フォルダ/となり、cakephpをインストールてもcssやimgなどが表示されない。

この場合、app/webroot/index.phpを書き換えることで解決する。

てっく★ゆきろぐ Rev2様に解決法が書いてあるのだが、馬鹿(と書いてボクと読む)にも分かるようにしておく。
以下を61行目から最後までコピペ。(ver1.3.7)

	if (!defined('WEBROOT_DIR')) {
		define('WEBROOT_DIR', basename(dirname(__FILE__)));
	}
	if (!defined('WWW_ROOT')) {
		define('WWW_ROOT', dirname(__FILE__) . DS);
	}
	if (!defined('CORE_PATH')) {
		if (function_exists('ini_set') && ini_set('include_path', CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS . PATH_SEPARATOR . ini_get('include_path'))) {
			define('APP_PATH', null);
			define('CORE_PATH', null);
		} else {
			define('APP_PATH', ROOT . DS . APP_DIR . DS);
			define('CORE_PATH', CAKE_CORE_INCLUDE_PATH . DS);
                }
        }
       // define img/css/js
       define ( "URLBASE" , "/../ユーザー名/フォルダ名/" ) ;
        define('IMAGES_URL', URLBASE . 'img/');
        define('CSS_URL', URLBASE . 'css/');
        define('JS_URL', URLBASE . 'js/');

        if (!include(CORE_PATH . 'cake' . DS . 'bootstrap.php')) {
                trigger_error("CakePHP core could not be found.  Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php.  It should point to the directory containing your " . DS . "cake core directory and your " . DS . "vendors root directory.", E_USER_ERROR);
        }

	if (isset($_GET['url']) && $_GET['url'] === 'favicon.ico') {
		return;
	} else {
		$Dispatcher = new Dispatcher();
		$Dispatcher->dispatch();
	}

これでユーザー名とフォルダ名を書き換えれば、共用SSLでもいける。

【php】user agentでiPhoneを判別する【javascript】

No Comment html,css,php

やりたいこと・・・タイトルまんま。Flashを使っているサイトの場合、iPhone用の表示も作らないと。

↓PHPの場合。

$ua = $_SERVER['HTTP_USER_AGENT'];
if((ereg("iPhone",$ua)) || (ereg("iPod",$ua))) {
//iPhone用の出力;
} else {
//その他用の出力;
}

↓javascriptの場合。

var agent = navigator.userAgent;
if( agent.search(/iPhone/) != -1 ){
document.write('iPhoneだった場合の出力');
}else{
document.write('iPhoneじゃ無い場合の出力');
}