переписать карту не соответствует - PullRequest
0 голосов
/ 16 декабря 2009

У меня проблемы с моей картой перезаписи, которая не совпадает:

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

К вашему сведению, я использую ISAPIRewrite от Helicontech, поскольку я использую IIS6.

Ответы [ 3 ]

0 голосов
/ 01 февраля 2010

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

RewriteMap map txt:map.txt  [NC]

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

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

0 голосов
/ 17 июля 2018

У меня была такая же проблема и я исправил ее с помощью "", попробуйте:

RewriteMap map "txt:rewritemaps\map.txt"  [NC]
RewriteCond ${map:$1|NOT_FOUND} !NOT_FOUND [NC]
RewriteRule "^(.+)$"  "${map:$1}"   [NC, R=301]
0 голосов
/ 16 декабря 2009

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

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