2007/10/24

phpのセッションパラメータ

oscommerceではsslで保護されたページに行く際にセッションパラメータを
保って移動するが、PHP 4.3.9以降ではSSL接続等に切り替わるときに
セッションパラメータを保持出来ないので、その項目をコメントアウト

/includes/application_top.phpの中の

if (function_exists('session_set_cookie_params')) {
session_set_cookie_params(0, substr(DIR_WS_CATALOG, 0, -1));
}

という所を
/*
if (function_exists('session_set_cookie_params')) {
session_set_cookie_params(0, substr(DIR_WS_CATALOG, 0, -1));
}
*/
こんな感じで。

2007/10/23

cssの記述順

# a:link : まだアクセスしたことのないリンクに適用
# a:visited : 既にアクセスしたことのあるリンクに適用
# a:hover : マウスが上に乗っている状態のリンクに適用
# a:active : 選択されている状態のリンクに適用

スタイルシートでは、同じスタイルが記述された場合、後に記述された方を優先して採用する。

* 「 :hover 」を記述する際は、「 :link 」や「 :visited 」よりも後、「 :active 」よりも前に記述します。
* 「 :active 」を記述する際は、「 :link 」や「 :visited 」、「 :hover 」よりも後に記述します。

要するに、次の順番で常に記述するようにしておけば大丈夫です。

1. :link
2. :visited
3. :hover
4. :active

2007/10/11

Java スクロール

ヘッダーに定義
例えば
<script src="js/scroll_top.js" type="text/javascript"></script>
<a href="javascript:void(0);" onclick="scroller(0,0,100);return false;" onfocus="if(this.blur)this.blur()">▲</a>


ソースもついでに貼っとこう
// 現在のスクロール量を取得(汎用)
function getScroll(){
var x, y ;
if( document.all !== void 0 ){
x = document.body.scrollLeft ;
y = document.body.scrollTop ;
}else if( document.layers !== void 0 ){
x = window.pageXOffset ;
y = window.pageYOffset ;
}else{
x = window.scrollX ;
y = window.scrollY ;
}
return { x : x, y : y };
}

// スクロール始めのスクロール量
var SCROLL ;
var divCountScroller = 15 ; // 分割数(何段階でスクロールするか)

// 現在のスクロール位置から、指定座標(x,y)までスクロールします
// edging は加減速を決めるパラメータで -100〜100 で指定します
// 小さい程加速、大きいほど減速、0のとき等速です
// 最初の呼び出し時、count は指定する必要はありません。
function scroller( x, y, edging, count ){

if( count === void 0 ){
count = 0 ;
SCROLL = getScroll();
}

if( count++ < divCountScroller ){
var c = count/divCountScroller ;
var nx = SCROLL.x+( x-SCROLL.x )*( c+edging/(100*Math.PI)*Math.sin( Math.PI*c ) );
var ny = SCROLL.y+( y-SCROLL.y )*( c+edging/(100*Math.PI)*Math.sin( Math.PI*c ) );
window.scrollTo( nx, ny );
setTimeout( "scroller("+x+","+y+","+edging+","+count+");", 50); // 再描画時間 10[msec] 小さい程早い
}
}

2007/10/09

エラーページ

この概要は表示できません。投稿を閲覧するには ここをクリック してください。

2007/10/04

サイトメンテナンス

mod_rewriteを使ってサイトのアクセスを制限します。
.htaccessに以下のように書くと、.htaccessを置いたディレクトリ以下にはブラウザからアクセスできなくなり、代わりに『x.html』というファイルの内容が表示されることになります。
x.htmlには、『サイトメンテナンス中です』とか他のページへのリンクを入れておくと親切。

RewriteEngine on
RewriteBase /
RewriteRule .* x.html

2007/10/03

画像の直リンク

アクセス解析を見ているといろいろ解る。が、、
データは送ってるけどページビューが無い、
リンクを辿ると、画像の無断使用!!

常識的にむかつきます。
対策として、、

cgiを通すか、apacheの機能を使うか?cgiは重くなりそうなので
apacheの機能を使う事にする。

まずバージョンは1.3.13以降でないと使えないのでバージョンを確認。
htaccess書類を作ってftpでアップ後リネーム。
以下は内容。
SetEnvIfNoCase Referer "^http://www.yourdomain.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://www.yourdomain.com$" locally_linked=1
SetEnvIfNoCase Referer "^http://yourdomain.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://yourdomain.com$" locally_linked=1
SetEnvIfNoCase Referer "^$" locally_linked=1

Order Allow,Deny
Allow from env=locally_linked


サブドメインについて
SetEnvIfNoCase Referer "^http://www.account.yourdomain.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://www.account.yourdomain.com$" locally_linked=1
SetEnvIfNoCase Referer "^http://account.yourdomain.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://account.yourdomain.com$" locally_linked=1
SetEnvIfNoCase Referer "^$" locally_linked=1

Order Allow,Deny
Allow from env=locally_linked


*htaccess書類は、最後に改行を入れる事!
サブドメインについて、詳しくは借りてるサーバに問い合わせること。