[英]rewritemap not matching
我的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
我的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並重命名地圖文件(以防萬一'map'是保留關鍵字)。 不開心 它似乎也不是權限問題。
僅供參考,就像在IIS6上一樣,我正在使用Helicontech的ISAPIRewrite。
三點建議:
如果map.txt與.htaccess位於同一文件夾中,請嘗試以下定義:
RewriteMap map txt:map.txt [NC]
如果在其他位置,請嘗試使用完全限定的路徑。
另外,如果尚未安裝,請考慮更新到最新版本的ISAPI_Rewrite。
我遇到了同樣的問題,並使用“”修復了該問題,請嘗試:
RewriteMap map "txt:rewritemaps\map.txt" [NC]
RewriteCond ${map:$1|NOT_FOUND} !NOT_FOUND [NC]
RewriteRule "^(.+)$" "${map:$1}" [NC, R=301]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.