htaccess如何将旧动态网址重定向到新动态网址

时间:2017-08-13 14:36:34

标签: .htaccess redirect mod-rewrite dynamic hyperlink

我的网站使用htaccess(bellow)中代码动态设置的链接:

RewriteRule ^(.*),(.*),([a-z0-9-_.]+),([a-z0-9-_.]+),([a-z0-9-_.]+)$ $4.php?n=$1&z=$2&t=$3&v=$5 [L,NC,NS,NE]

实际上链接看起来像这样(例子):

www.mypage.com/$1,$2,$3,$4,$5

我想将htaccess中的动态链接从旧的重定向到新的,它将具有这样的结构(没有$ 5参数):

www.mypage.com/$4/$1-$2/$3

重定向尤其适用于将搜索引擎中可用的旧链接重定向到新链接。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我现在没有一个Apache实例可以用来测试,但是这样的事情应该可以起作用:

RewriteRule ^(.*),(.*),([a-z0-9-_.]+),([a-z0-9-_.]+),([a-z0-9-_.]+)$ $4/$1-$2/$3 [L,R=301]

RewriteRule ^([a-z0-9-_.]+)/(.*)-(.*)/([a-z0-9-_.]+)$ $1.php?n=$2&z=$3&t=$4 [L,NC,NS,NE]

第一次重写使用301将旧网址(1,2,3,4,5)重定向到新网址(4/1-2/3),告诉搜索引擎删除旧网址,转而使用旧网址。

第二次重写采用新格式并将其映射到您的实际脚本。

注意在将旧变换为新变换时如何删除第5个参数。