apache rewritemap не работает URL не переводится
Я не могу заставить мою карту перезаписи работать. Я прочитал много страниц по этому вопросу, но пока не могу понять, как это сделать.
У меня есть следующее в моем httpd.conf и взял перезагрузку apache
RewriteMap ErrorMap txt:/usr/local/apache/conf/userdata/std/1/techencl/site.com/vb2xf.map
Карта перезаписи имеет следующую запись (редактируется после подсказки в первом ответе)
corner/lock-unlock-140859.html http://www.site.com/com/ts/lock-unlock.70898/
.Htaccess в корневом каталоге имеет следующую запись
RewriteCond ${ErrorMap:$1|NOT_FOUND} !NOT_FOUND
RewriteRule ^(.*)$ ${ErrorMap:$1|$1} [R=301]
Изменить: Просто опубликовать мое текущее содержимое файла.htaccess для справки
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule [^/]+/.+-([\d]+)/p([\d]+)/ showthread.php?t=$1&page=$2 [NC,L]
RewriteRule [^/]+/.+-([\d]+)/ showthread.php?t=$1 [NC,L]
Options +FollowSymlinks
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
RewriteCond ${ErrorMap:$1|NOT_FOUND} !NOT_FOUND
RewriteRule ^(.*)$ ${ErrorMap:$1|$1} [R=301]
</IfModule>
1 ответ
Когда вы вызываете карту:
${ErrorMap:$1
$1
никогда не будет иметь http://www.site.com/
в этом. У него будет только эта часть:
corner/lock-unlock-140859.html
Это означает, что на вашей карте вы должны сделать так, чтобы это выглядело так:
corner/lock-unlock-140859.html http://www.site.com/com/ts/lock-unlock.70898/