我的重写映射不匹配有问题:
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
我的 RewriteLog,设置为 9 级,记录:
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 并重命名地图文件(以防“地图”是保留关键字)。没有喜悦。这似乎也不是权限问题。
仅供参考,我正在使用 Helicontech 的 ISAPIRewrite,因为我在 IIS6 上。