さくらでPukiWikiのBASIC認証できない

2016年3月27日

さくらインターネットのレンタルサーバーでwikiつくろうと思ったのに、PHPがCGI版しか入っていないのでpukiwikiのBASIC認証が使えない。
なんでつかえないの。
とりあえず調べるとこんな記事が見つかった。

http://www.hitarts.com/blog/archives/15

なぜモジュール版だと使えるのにCGI版だと使えないのか。PHPのHTTP認証では$_SERVER[’PHP_AUTH_USER’]と$_SERVER[’PHP_AUTH_PW’]という環境変数を参照して認証を行なっているらしい。しかし、CGI版のPHPではこれらの環境変数が参照できない仕様になっているとのこと。
そして$_SERVER['HTTP_AUTHORIZATION’]を参照できるようにすれば$_SERVER[’PHP_AUTH_USER’]と$_SERVER[’PHP_AUTH_PW’]は内部で求めてくれるらしいのでmod_rewriteする。
.htaccessに以下の様に書く。

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]