我无法让我的重写地图发挥作用。我已经阅读了很多这方面的内容,但却无法弄清楚如何。
我在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>
答案 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/