SSLを考えずに作られているページを、.htaccessだけの変更でSSL対応する方法をご紹介します。
もちろん、サーバがSSLに対応している必要はありますが…。
さらに.htaccessとmod_rewriteが入っている必要もあります。

SSLページにしたいHTMLファイル(PHP等でも可)のあるディレクトリに.htaccessファイルを作成し、下の文を追加します。

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

ファイルを個別に指定したい場合はちょっと面倒ですが下記のようにします。
ここでは例としてfoo.htmlとbar.htmlをSSLページとし、それ以外はSSLでないページとします。

RewriteCond %{REQUEST_URI} .*/foo.html$ [OR]
RewriteCond %{REQUEST_URI} .*/bar.html$
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteCond %{REQUEST_URI} !(.*/foo.html$)
RewriteCond %{REQUEST_URI} !(.*/bar.html$)
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]

レンタルサーバ等でPEARがインストールされておらず、またルート権限が使えないために新たにインストールできないときは、インクルードパスに自分が管理できるディレクトリをset_include_path関数で追加します。
やり方は以下のとおり。

1.プログラム内で自分の管理するディレクトリをインクルードパスに追加する
  (例:set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . "/lib");)
2.PEARのページ(http://pear.php.net/)から必要なパッケージをダウンロードする
  (依存関係があるパッケージも全てダウンロードする)
3.1で追加したパスにダウンロードしたPEARパッケージのファイルをアップロードする

これでOKです。

プログラムによって作成したCSVデータなどをダウンロードさせたい場合、デフォルトのファイル名は呼び出されたURLのファイル名になり、xxx.php等になってしまいます。
これを指定したファイル名にしたい場合はHTTPレスポンスのヘッダに、"Content-Disposition"を指定します。
例えばPHPでしたら以下のようになります。

header("Content-Disposition: attachment; filename=\"fname.ext\";");


参考;
Studiying HTTP
PHPの最新メジャーバージョンが5になってから結構経ちますが、まだPHP4が多く使われているように思います。
PHP5とPHP4では完全な互換がないことはよく知られていますが、PHP5をPHP4互換モードとして動かすことができるのはご存知でしょうか。
この設定はphp.iniだけでなく.htaccessで指定できるので、環境を混在させるときに便利です。
.htaccessで設定するときは以下のように記述します。

php_flag zend.ze1_compatibility_mode On

これを設定すると、『Zend Engine 1 (PHP 4) との互換モードを有効にします。 この設定は、オブジェクトのコピー、キャスト (プロパティを 保持しないオブジェクトが FALSE あるいは 0 のいずれになるか)、 そして 比較 に影響を与えます。このモードの場合、オブジェクトを渡す際の デフォルトの方法は、参照渡しではなく値渡しとなります。』だそうです。

参考:
コア php.ini ディレクティブに関する説明

PHPはデフォルトでは、リクエストの入力にクォーテーション(')、ダブルクォーテーション(")、バックスラッシュ(\)がある場合に、自動的に前にバックスラッシュ(\)が付加されます。
これはセキュリティ上あったほうがいいのですが、自分でサニタイジングしたい場合に結構邪魔だったりします。
そんなときは.htaccessに

php_flag magic_quotes_gpc Off

と記述すると自動エスケープを抑制することができます。

参考:
PHP オプションと情報(info)

携帯用サイトを作るときなど、表示用の文字コードと内部の文字コードを別にしたい場合があります。このような時、下記のような設定を.htaccessに記述するとPHPが自動的に変換してくれます。


php_flag output_buffering On
php_value output_handler mb_output_handler
php_value default_charset UTF-8
php_value mbstring.language Japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output UTF-8
php_value mbstring.internal_encoding UTF-8
php_value mbstring.substitute_character none

ここでの各項目の意味は次のようなものになるようです。文字コードを指定する箇所は"UTF8"、"EUC-JP"、"SJIS"等を記述します。ただし、default_charseにシフトJISを設定する場合は"Shift_JIS"にしたほうがいいかも。

output_buffering 出力バッファリングの有無
output_handler スクリプトの全ての出力を関数にリダイレクトすることがでる
ここにmb_output_handlerを設定すると自動変換してくれる
default_charset HTTPのContent-typeヘッダで出力する文字コード
mbstring.language mbstringで使用される言語のデフォルト値
mbstring.encoding_translation HTTP入力文字エンコーディング検出および内部文字エンコーディングへの変換を行うか
mbstring.http_input HTTP入力文字エンコーディングのデフォルト値
mbstring.http_output HTTP出力文字エンコーディングのデフォルト値
mbstring.internal_encoding 内部文字エンコーディングのデフォルト値
mbstring.substitute_character 無効な文字を代替する文字


参考:
マルチバイト文字列関数(mbstring)
コア php.ini ディレクティブに関する説明

IE7がもうすぐリリース になるようです。
技術者として気になるのは、CSSの標準への準拠、PNGのアルファチャネル対応、SVG対応です。
PNGのアルファチャネルに対応するようですので、半透明の背景も小技を使わずに実装できますねにひひ

IE7のリリースでの一番大きな心配事はIE6以前との互換性です。
今までのマイクロソフトの姿勢は、「後方互換を優先する」だったので少しは安心できていたのですが、最近は(.NET Frameworkを見る限り)前バージョンとの互換性に対する意識が変わっているようで心配です。
IE7はマイクロソフトアップデートの対象になっているようですし(日本での対応は半年ほど遅らせるようですが)、色々なところで問題にならないことを願っています。

最近はオフィスソフトもOpenOfficeのように無料で使えるようになりうれしい限りです。
ですが、やはりMS社製のOfficeを使っている方もたくさんおられることは事実ですし、OpenOfficeも完全にMS社製のものと互換性があるとは言い切れません。
そこで私は、ドキュメントの編集はOpenOfficeで行い、MS社製オフィスのデータへ変換したときはMS社製のビューワで表示を確認しています。
ビューワは編集こそできませんが、オフィスと同じように表示ができ、無料で使用することができます。


ダウンロードは以下のページから行えます(ライセンスをご確認下さい)。


Word Viewer 2003
http://www.microsoft.com/downloads/details.aspx?FamilyID=95e24c87-8732-48d5-8689-ab826e7b8fdf&displaylang=JA


Excel Viewer 2003
http://www.microsoft.com/downloads/details.aspx?FamilyID=c8378bf4-996c-4569-b547-75edbd03aaf0&displaylang=JA


PowerPoint Viewer 2003
http://www.microsoft.com/downloads/details.aspx?familyid=428D5727-43AB-4F24-90B7-A94784AF71A4&displaylang=ja


Visio Viewer 2003
http://www.microsoft.com/downloads/details.aspx?FamilyID=3FB3BD5C-FED1-46CF-BD53-DA23635AB2DF&displaylang=ja

E6には標準準拠モードと後方互換モードの2種類のモードがあり、何もしないと後方互換モードになっています。この後方互換モードが標準に準拠していないため、標準に準拠しているFirefox等と表示が違ってしまう原因になっています。 IE6で標準準拠モードにするには、HTMLにDOCTYPEを宣言する必要があります。

いつも忘れてしまうので、DOCTYPE宣言の構文とIEのモードをまとめました。

バージョン !DOCTYPE宣言 IEのモード
  宣言なし 後方互換
HTML 4.01 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> 標準準拠
HTML 4.01 Strict <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 標準準拠
HTML 4.01 Transitional <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 後方互換
HTML 4.01 Transitional <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 標準準拠
HTML 4.01 Frameset <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> 後方互換
HTML 4.01 Frameset <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> 標準準拠
XHTML 1.0 Strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 標準準拠
XHTML 1.0 Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 標準準拠
XHTML 1.0 Frameset <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 標準準拠
Compact HTML 1.0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft//EN"> ---
いつも忘れてしまうのでメモ。

PHPでHTTPリクエストのメソッドが何であるかを判定するためには、
$_SERVER["REQUEST_METHOD"]
に格納されている文字列を使用します。
(例)
if ($_SERVER["REQUEST_METHOD"] == "GET") {
// コンテンツの表示処理
} elseif ($_SERVER["REQUEST_METHOD"] == "POST") {
// コンテンツの更新処理
}

このようなメソッドの判定は、REST スタイルでプログラムする際に必要になります。