IISは.htaccessないからなーとかそこであきらめない。
あきらめたら全てが終わり。
IISの404のエラーハンドラーを使う。要はApacheのErrorハンドラーなのだけど、404にWPのページを受けるようにしてやって、真に404かはWordPressに任せてしまうということ。
ちなみにisleのサーバではErrorハンドラーは変更できた。
<?php $rewrite_url = $_SERVER['HTTP_X_REWRITE_URL']; $_SERVER['REQUEST_URI'] = sprintf('http%s://%s%s', (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '', $_SERVER['SERVER_NAME'], $rewrite_url); $_SERVER['QUERY_STRING'] = ltrim(strstr($_SERVER['QUERY_STRING'], '?'), '?'); $_SERVER['URL'] = $_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI']; include('index.php'); ?>
な感じのスクリプトを作ってやって、404に割り当てる。
なんかちょっと黒い香りのする方法だ。