我需要301重定向规则才能在网站上迁移CMS。
在旧的CMS上,我有这样的URL结构:
我希望将我的网站移至另一个CMS,并将所有旧的(或大多数)网址301重定向到新网页。
旧CMS上的类别网址:
www.my-site-name.com/category-name-some-category-suffix /
www.my-site-name.com/category-name-some-category-suffix/page/2 /
www.my-site-name.com/category-name-some-category-suffix/subcategory-name-some-category-suffix /
www.my-site-name.com/category-name-some-category-suffix/subcategory-name-some-category-suffix/page/2 /
在旧CMS上发布网址。
www.my-site-name.com/category-name-some-category-suffix/subcategory-name-some-category-suffix/some-post-name.jpg.html
和每个帖子的一个附加页面,如:
www.my-site-name.com/full-size/category-name-some-category-suffix/subcategory-name-some-category-suffix/some-post-name.jpg-some-words-here html的
新CMS上的类别网址:
我将“ category_url ”作为类别库(在域名之后),我也希望从类别和子类别中删除“ -some-category-suffix ”(如果有的话。
对于类别网址:
在域名
后添加“ category_url / ”从类别和任何子类别中删除“ -some-category-suffix ”
重定向到这样的网址:
www.my-site-name.com/category_url/category-name /
www.my-site-name.com/category_url/category-name/page/2 /
在新CMS上发布网址。
我有“ category-url ”作为帖子库(在域名之后)。请注意类别库“category_url”与帖子库“category-url”之间的区别。
对于帖子页面:
从类别和任何子类别中删除“ -some-category-suffix ”
将“ .jpg.html ”重命名为“ .html ”
重定向到这样的网址:
www.my-site-name.com/category-url/category-name/subcategory-name/some-post-name.html
对于帖子附加页面:
从类别和任何子类别中删除“ -some-category-suffix ”
将“完整尺寸”重命名为“ category-url ”
将“ .jpg - ”重命名为“ .html - ?”
删除结尾“ .html ”(在“-some-words-here”之后)
重定向到这样的网址:
www.my-site-name.com/category-url/category-name/subcategory-name/some-post-name.html-?some-words-here
概要
分类自:
www.my-site-name.com/category-name的 - 一些类别后缀 /
为:
www.my-site-name.com/的 category_url /分类名/
发布自:
www.my-site-name.com/category-name的 - 一些类别后缀 /子类别名的 - 一些类别后缀 /一些-交-name .jpg.html
为:
www.my-site-name.com/的分类的URL /分类名/子类别名/一些-后名称的 html的的
从以下位置发布附加页面:
www.my-site-name.com/的全尺寸 /分类名的 - 一些类别后缀 /子类别名的 -some-类别后缀 /一些-后名称的 .JPG - 的一些字-此处的 html的的
为:
www.my-site-name.com/的分类的URL /分类名/子类别名/一些-后名称的.html - ? some-词语-这里
如果所有网址类型都无法使用重写规则,那么任何帮助都会很棒。
我试过了:
#For post page URLs
RewriteRule ^(.*)-some-category-suffix(.*).jpg.html(.*)$ /category-url/$1$2.html$3 [L,R=301]
#For post add-on page URLs
RewriteRule ^full-size/(.*)-some-category-suffix(.*).jpg-(.*).html(.*)$ category-url/$1$2.html-?$3$4 [L,R=301]
#Category URLs
RewriteRule ^(.*)-some-category-suffix(.*)$ /category_url/$1$2 [L,R=301]
它有效,如果只有一个类别级别,它只删除最后一个“-some-category-suffix”。
输出示例
对于帖子页面
www.my-site-name.com/category-url/category-name-some-category-suffix/subcategory-name/some-post-name.html
或在页面上添加帖子
www.my-site-name.com/category-url/category-name-some-category-suffix/subcategory-name/some-post-name.html-?some-words-here
或类别
www.my-site-name.com/category_url/category-name-some-category-suffix/subcategory-name /
我需要对删除所有“-some-category-suffix”的实例进行一些调整,如果URL中不止一个。
如果你能解决它,那就太好了。
任何建议,帮助?