rewritemap が一致しないことに問題があります:
RewriteMap map txt:rewritemaps\map.txt [NC]
RewriteCond ${map:$1|NOT_FOUND} !NOT_FOUND [NC]
RewriteRule ^(.+)$ ${map:$1} [NC, R=301]
マップには、以下を含む約 4,500 のエントリがあります。
arctic /Destinations/Polar-Regions/The-Arctic.aspx
レベル 9 に設定された私の RewriteLog は次のように記録します。
init rewrite engine with requested uri /arctic
Htaccess process request C:\Program Files\ISAPI Rewrite\httpd.conf
Htaccess process request C:\Websites\Path\WebSite\.htaccess
[..]
applying pattern '^(.+)$' to uri 'arctic'
map lookup FAILED: map=map[txt] key=arctic
RewriteCond: input='NOT_FOUND' pattern='NOT_FOUND' =>
マップにないページ (例: /Contact-Us.aspx) では機能しますが、一致するはずのもの (北極圏など) では機能しません。[NC] フラグの場所を変更して、RewriteCond を削除し、マップ ファイルの名前を変更してみました ('map' が予約済みキーワードであった場合に備えて)。喜びはありません。また、権限の問題ではないようです。
参考までに、私は IIS6 を使用しているため、Helicontech の ISAPIRewrite を使用しています。