切换模式重写 URL

切换模式重写 URL

我们在 PHP 网站中使用 mod 重写 URL,这是我们使用的重写规则:

RewriteRule ^category/([^.]+)/([0-9]+)/([^.]+)/([0-9]+) categories.php?c_id=$2&filters=$3&_p=$4&area=category&areaname=$1

但是,其他系统的用户正在切换到我们的设置,并希望将他们的所有旧页面 301 到新页面。例如,此 URL:

http://domain.com/categories/clothing/5/1

变成:

http://domain.com/category/clothing/5/0-0-0-0/1

是否可以在单个重写规则或重写匹配(或类似规则)中执行此操作,我最初的想法是这样的:

RewriteRule /categories/(.*)/(.*)/1 /category/$1/$2/0-0-0-0-0-0-0-0/1 [R=301,L]

还尝试使用 RedirectMatch,但也不起作用:

RedirectMatch /categories/(.*)/(.*)/1 http://domain.com/category/$1/$2/0-0-0-0-0-0-0-0/1

没有,有什么想法吗?

答案1

用这个规则来纠正自己:

RedirectMatch 301 /categories/(.*)/(.*)/(.*) http://domain.com/category/$1/$2/0-0-0-0-0-0-0-0/$3

相关内容