Apache HTTP Server

VM 上の OS で動かしている httpd にアクセスできなかったら
ポートが開いていない可能性があるので、 を編集し、許可したいポートを追加する.

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
 * 1) 8080 番ポートを開けたいとき

WampServer による Apache のインストールと設定
localhost, 適当なメールアドレス、としてインストール. ※サービスが完全に起動しない場合は，タスクトレイアイコンの Apache > Service > Install service を実行

注意
IP アドレスの形式 (IPv4 か IPv6 か) は C:/Windows/System32/drivers/etc/hosts と httpd-vhosts.conf とで合わせる！

httpd.conf
... DocumentRoot サイト一式が置いてあるディレクトリ ...  ...  Allow from 127.0.0.1 ⇒ Allow from ::1 に変更 (IPv6 移行により) 

virtual hosts の設定方法
:: 1            local.example.com
 * 1) httpd.conf の Include httpd-vhosts.conf を有効化
 * 2) extra/httpd-vhosts.conf に設定追加（詳細は検索）
 * C:/Windows/System32/drivers/etc/hosts にドメインを追加

デフォルトの場所とは違う phpMyAdmin にアクセスしたいとき
1. C:\wamp\alias\ にある phpmyadmin.conf の先頭行のエイリアス Alias /phpmyadmin "c:\wamp\apps\phpmyadmin" をコメントアウト(#)する.

2. "Allow from ::1" を追記する.

3. '''すべてのサービスを再起動する. '''

SSL でのアクセスのみに制限するには
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST\}%\{REQUEST_URI\} [R,L]

mod_rewrite で嵌ったら
http-vhosts.conf (または http.conf) の RewriteLogLevel を 9 にして、とにかく丁寧にログをチェックする！ まずシンプルな条件でテストしてみて、徐々に条件を付け加えていき、希望通りに動作するまでおこなう！

RewriteLog の出力の仕方
.conf ファイルに以下を記述する RewriteLog {ログファイルのパス} # あらかじめファイルを作っておくこと RewriteLogLevel 9 # 1以上ならログが出るが、デバッグ時は一番詳細な 9 がよい ※,   は   などの中には入れず、最上階層に書くこと.

RewriteEngine を on にして CSS や画像が表示されなくなったら
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond ${REQUEST_FILENAME} !-d を追記する.

対処方法
RewriteRule ^(.*)$ index.php/$1 [L] を RewriteRule ^(.*)$ index.php?/$1 [L] にする.

理由
ログを見るとわかるが、? をつけると、それ以降の文字列は引数と解釈され rewrite 時には無視されるようになるから. その意味では、? 以降の文字列はなくてもよい