最近,我们重组了一个客户的大型网站。这导致该网站上的所有新闻摘要都在不同的地方。问题是谷歌缓存仍然在旧位置显示它们,导致很多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_news
,tt_news
已更改为news
,&cHash
部分已完全消失。
我在csv中使用以下格式更改了ID:
old_id, new_id
1,2
2,3
...etc...
?
之前更改的网址部分也是如此。由于我不完全是使用正则表达式的专家,我的问题是:
这可以使用RegEx在.htaccess内完成(不确定它是否甚至可以使用文件作为输入)?这有多复杂?这样的正则表达式怎么样?
答案 0 :(得分:0)
如果您只是创建一个响应旧网址(/old/path/to/the/news/details
)的新网页,而不是尝试使用.htaccess,那么管理和编码会更容易,然后让该网页构建新的网址并使用该新网址向浏览器返回301。