0

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 を使用しています。

4

3 に答える 3

0

3つの提案:

  1. ディレクトリ区切り文字としてスラッシュ(/)を使用してみてください。
  2. それでも問題が解決しない場合は、完全修飾パスを試してください。
  3. RewriteCondなしで試してください。
于 2009-12-16T19:57:57.543 に答える
0

map.txt が .htaccess と同じフォルダーにある場合は、次の定義を試してください。

RewriteMap map txt:map.txt  [NC]

別の場所にある場合は、完全修飾パスを使用してみてください。

また、ISAPI_Rewrite をまだ使用していない場合は、最新のビルドに更新することを検討してください。

于 2010-02-01T16:05:11.150 に答える