apache rewritemap不工作URL不翻译

时间:2014-01-28 17:49:50

标签: apache .htaccess mod-rewrite rewritemap

我无法让我的重写地图发挥作用。我已经阅读了很多这方面的内容,但却无法弄清楚如何。

我在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 个答案:

答案 0 :(得分:0)

当您致电地图时:

${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/