使用RegEx重定向文件

时间:2016-06-10 09:31:05

标签: regex .htaccess

最近,我们重组了一个客户的大型网站。这导致该网站上的所有新闻摘要都在不同的地方。问题是谷歌缓存仍然在旧位置显示它们,导致很多404未找到(大约1400条新闻条目)。

通常情况下,使用一些简单的正则表达式进行重定向会很好,但不仅新闻路径确实发生了变化,而且还有一些参数。例如:

旧网址:

http://www.customers-url.com/old/path/to/the/news/details/?tx_ttnews%5Btt_news%5D=67&cHash=a782f3027c4d00face6df122a76c38ed

新网址应如何显示:

http://www.customers-url.com/new/path/to/news/?tx_news_pi1%5Bnews%5D=65

正如您所看到的,参数D确实从67更改为65,而?之前的网址部分也发生了变化。此外,tx_ttnews已更改为tx_newstt_news已更改为news&cHash部分已完全消失。

我在csv中使用以下格式更改了ID:

old_id, new_id
1,2
2,3
...etc...

?之前更改的网址部分也是如此。由于我不完全是使用正则表达式的专家,我的问题是:

这可以使用RegEx在.htaccess内完成(不确定它是否甚至可以使用文件作为输入)?这有多复杂?这样的正则表达式怎么样?

1 个答案:

答案 0 :(得分:0)

如果您只是创建一个响应旧网址(/old/path/to/the/news/details)的新网页,而不是尝试使用.htaccess,那么管理和编码会更容易,然后让该网页构建新的网址并使用该新网址向浏览器返回301。