2012-09-12 77 views
1

无法找到对此的答案,并认为它可能是一个快速的答案。301使用正则表达式重定向

我的公司是本地新闻网站,正在从专有CMS迁移到WordPress。部分挑战是我们正在重构网址。我将使用301个重定向,但我的问题是:

示例页面名称:故事名称:是“本” 例老CMS网页网址:/故事的名字 - 是 - 这 -/ 新CMS页面URL:/ news/2012/09/12/story-name-is-this/

旧CMS将特殊字符和空格转为连字符。 WordPress将被配置为忽略特殊字符,并简单地将空格变成连字符。此外,旧的CMS没有在URL中包含日期,我不确定有关添加日期的最佳路线。

谢谢!

回答

0

你要么必须编写一个脚本,它需要所有旧链接,在数据库中进行查找以将其转换为新链接,并将浏览器重定向到新链接。或者你将不得不枚举老链接的完整映射 - >新的链接,并创建一个301重定向为他们每个人(任您的虚拟主机/服务器配置或在htaccess文件):

Redirect 301 /story-name--is--this-/ /news/2012/09/12/story-name-is-this/ 
0

这不是清楚你真正的问题是什么?我也不确定正则表达式与该问题有什么关系。

没有关于您的旧CMS的功能的信息,假设您可以拦截通过浏览器访问旧文章的电话,但在呈现之前您可以形成并将重定向发送回浏览器使用专有CMS中的可用编程机制动态生成URL。

同样,假设你有访问Java:


A.当生成您可以访问文章的日期,并形成之日起, 2012年9月12日的重定向URL,你可以使用SimpleDateFormatter格式化日期转换为字符串表示形式,如YYYY/MM/DD。
B.您可以对标题使用类似的方法,并用空格替换标题字符串中的特殊字符列表。例如,Apache StringUtils库可以让你指定一组要查找的字符,如果发现任何字符,它们将被替换为目标字符。
C.您连接A和B的输出以创建目标重定向URL并将其发送回浏览器而不是文章本身。

相关问题