#navi(../)
*Rewriteを用いたサーチエンジン最適化 [#v667c131]
PukiWiki Adv.では、RewriteEngineを用いてアドレスを静的URLにすることが標準で可能です。Web上でサーバーの設定を操作できるCherokeeが一番簡単かも。

**Apache [#k58d657e]
やり方は、.htaccessの
#sh(){{
<IfModule mod_rewrite.c>
	RewriteEngine on
	RewriteCond %{REQUEST_FILENAME} -f [OR]
	RewriteCond %{REQUEST_FILENAME} -d
	RewriteRule ^.* - [L]
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule ^(.+)/$ index.php?$1 [L]
	RewriteRule ^(.+)\.html$ index.php?$1 [L]	# htmlファイルに偽装する場合
</IfModule>
}}
のコメントを外して、pukiwiki.ini.phpの$static_urlを1にするだけです。これで、
 http://example.com/?Foo%2FBar
のようなアドレスを
 http://example.com/Foo/Bar
のような、わかりやすいアドレスにすることができます。ただし、Apacheはスペースなどを含むアドレスを正常に処理ができないため、部分的に無効化されます。
**nginx [#ibc757fe]
nginxを使用している場合、/etc/nginx/nginx.conf、あるいは、/etc/nginx/sites-enabled/内の指定された設定ファイルを弄る必要があります。

以下が推奨設定です。
#sh(perl){{
server{
	listen			80;
	server_name		[サーバー名];
	root			/var/www;
	index			index.php;

	location / {
		error_page      404 = @pukiwiki;
		log_not_found   off;
	}

	location @pukiwiki {
		rewrite ^/(.+)$		/index.php?$1	last;
		rewrite ^/(.+)/$	/index.php?$1	last;	# ディレクトリに偽装
		rewrite ^/(.+)\.html$	/index.php?$1	last;	# htmlファイルに偽装する場合のみ
		break;
	}

	location ~ \.php$ {
		fastcgi_pass	127.0.0.1:9000;
#		server		unix:/var/run/php-fpm.socket;	# ソケット通信の場合
		fastcgi_index	index.php;
		fastcgi_param	SCRIPT_FILENAME  /var/www$fastcgi_script_name;	# $document_root$fastcgi_script_nameでも可能です。
		include		fastcgi_params;
	}
}
}}

Apacheと異なり、見境なしにindex.phpにQueryStringを渡すため、
 http://example.com/Foo/Bar
のような、サフィックスが不要な、よりWikiに近い設定も可能です。
**lighttpd [#s5eda07b]
スタブ

**Cherokee Web Server[#zdc4ad96]
+Virtual Serverをクリックし、PukiWiki Adv.を設置している仮想サーバーを選択してください。
+BehaviorタブからRule Managementをクリックし、Behavior画面に移ります。
+ウィンドウが開くので、Manualを選択し、Rule TypeをFile Exsistsにします。
+Match Any Filesのチェックを入れたら、Createボタンを押します。
+Ruleタブに移るので、画面下部のNOTボタンを押してください。
+次にHandlerタブをクリックし、以下のようにルールを追加してください。
#ref(cherokee_redirect.png,zoom,50%)
+完了したらSaveをクリックしてCherokeeをリスタートしてください。(もっとも、Cherokeeは、Apache用の.htaccessが流用できますが)