2016-03-02 51 views
0

我想解决一个链接腐烂的问题,这是一年前在高流量网站上发生的固定链接更改的结果。我知道你可以在apache中重定向某些永久链接结构,但是这是如何在正则表达式中完成的?如何使用正则表达式重定向旧的永久链接?

我需要将所有链接请求都是这种格式:

http://www.*****.com/permalinks/year/month/day/title 

该电流(截至2015年)格式:

http: //www.*****.com/year/month/day/title 

基本上,我只需要删除的名字永久链接从url请求中获取数据库中的数据。

我试着用404搜索任何东西,但它并不可靠,而且数据库很大,所以速度很慢。

我想这正则表达式,但它不工作:

/permalinks/(d*)/(d*)/(d*)/(.*) => /(d*)/(d*)/(d*)$4 

回答

0

感谢您的答复。我将研究该代码。它似乎是nginx.conf?我目前无法访问,因此我无法尝试。

我用这个正则表达式所经历的城市长颈鹿重定向插件和它的作品:

/permalinks/(.*)==>/$ 1

0

你需要简单的正则表达式改写为删除永久链接/并保持休息网址:

server { 
     listen   80; 
     server_name  example.com; 
     rewrite ^/permalinks/(.*) http://example.com/$1 permanent; 
}