2009-12-16 3 views
0

У меня возникли проблемы с моим RewriteMap не соответствие вещи:RewriteMap не соответствует

RewriteMap map txt:rewritemaps\map.txt [NC] 
RewriteCond ${map:$1|NOT_FOUND} !NOT_FOUND [NC] 
RewriteRule ^(.+)$ ${map:$1} [NC, R=301] 

Карта имеет около 4500 записей, в том числе:

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, но не с вещами, которые должны соответствовать (такой s arctic). Я попытался изменить местоположение флага [NC], удалив RewriteCond и переименовав файл карты (на всякий случай «карта» была зарезервированным ключевым словом). Нет радости. Это также не проблема с разрешениями.

FYI, я использую ISAPIRewrite от Helicontech, поскольку я на IIS6.

ответ

0

Три предложения:

  1. Попробуйте использовать косую черту (/) в качестве разделителя каталогов.
  2. Если это не сработает, попробуйте полностью пройти путь.
  3. Попробуйте это без RewriteCond.
0

Если map.txt находится в той же папке с .htaccess, пожалуйста, попробуйте следующее определение:

RewriteMap map txt:map.txt [NC] 

Если это в другом месте, пожалуйста, попробуйте использовать полный путь.

Также рассмотрите обновление до последней сборки ISAPI_Rewrite, если вы еще не на ней.

Смежные вопросы