.htaccess
RewriteEngine on RewriteCond %{REQUEST_FILENAME} "\.php$" RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* - [R=404,L] <FilesMatch "\.php$"> AddHandler php-script .php </FilesMatch>
RewriteEngine on RewriteCond %{REQUEST_FILENAME} "\.php$" RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* - [R=404,L] <FilesMatch "\.php$"> Action php-script /php.cgi AddHandler php-script .php </FilesMatch>
apache設定で定義する場合
Action php-script /fullpathto/php.cgi
以下のような設定は必要ありません。
CGI版PHPで動作させる場合は、pukiwiki.ini.phpの中の
///////////////////////////////////////////////// // index.php などに変更した場合のスクリプト名の設定 // とくに設定しなくても問題なし //$script = "http ://hogehoge/pukiwiki/";
の部分で
$script = "http ://hogehoge/pukiwiki.php";
という形で必ず記述しておく必要があります。
hogehogeの部分はあなたがpukiwikiを設置するディレクトリまでのパスを記述します。pukiwiki.phpの部分は、pukiwiki.phpをindex.phpなどにrenameしている場合は、変更したファイル名にします。1.4.7だとデフォルトでindex.phpなのでpukiwiki.phpではない事に注意。CGI版PHPで動作させる場合はファイル名まで指定しておく必要があります。
一部のサーバーでは、CGI版PHPで動作させるためには、各スクリプトの先頭行で
#!/usr/local/bin/php
と記述し、スクリプトの拡張子をcgiに変更しなければならない場合があります。
また、suEXECが動作するサーバーでは、cgiが設置者のユーザー権限で動作するため、各ディレクトリのパーミッションを755→705、777→707に、各ファイルのパーミッションを644→600(604)、666→600(606)*1に変更しないとセキュリティチェック機能によりパーミッションエラーを起こす場合があります。
一部のサーバーでは、cgiが特定のディレクトリでしか動作しないように設定されている場合があります。
PHPの制限により、CGI版PHPではPHP経由でBasic認証ができません。(詳しくは、[[PHP による HTTP 認証 - PHP Manual>http ://jp2.php.net/manual/ja/features.http-auth.php]] へ)
このため、PukiWikiのユーザー認証が使えなくなります。