使用htaccess将旧动态URL重定向到新模式

时间:2017-06-13 18:15:29

标签: php apache .htaccess redirect mod-rewrite

我网站的正常链接可能如下所示

mydomain.com/categorylist/8/Special_Single_Songs.html

我打算将网址格式更改为

mydomain.com/categorylist/8-Special-Single-Songs.html

如何使用.htaccess重定向规则将旧网址格式重定向到新网址?

我的.htaccess重写规则看起来像这样

  

RewriteRule ^ categorylist /([0-9] +)/([0-9a-z] +)/([0-9] +)/(。*)。html $ /index.php?pid= $ 1& sort = $ 2& page = $ 3 [L]

2 个答案:

答案 0 :(得分:0)

试试这个&在RewriteEngine on

之后将其置于顶部
RewriteRule ^categorylist([^_]*)_([^_]*_.*).html$ $1-$2 [L,NE]
RewriteRule ^categorylist([^_]*)_([^_]*).html$ /$1-$2 [L,NE,R=301]

注意:大量下划线可能是个问题

答案 1 :(得分:0)

试试此代码

RewriteRule ^categorylist/([0-9]+)/([0-9a-z]+)/([0-9]+)/(.*).html$ /index.php?pid=$1&sort=$2&page=$3 [L]

RewriteRule ^categorylist/([0-9]+)\-([0-9a-z]+)/([0-9]+)/(.*).html$ /index.php?pid=$1&sort=$2&page=$3 [L]