我正在尝试解决链接腐烂的问题,这是一年前在高流量网站上永久更改的结果。我知道你可以重定向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 :(得分:0)
你需要简单的正则表达式重写来删除永久链接/并保留其余的url:
server {
listen 80;
server_name example.com;
rewrite ^/permalinks/(.*) http://example.com/$1 permanent;
}
答案 1 :(得分:0)
感谢您的回复。我将研究那段代码。它似乎是针对nginx.conf的?我目前无法访问,所以我无法尝试。
我通过城市长颈鹿重定向插件使用这个正则表达式,它可以工作:
/ permalinks /(.*)==> / $ 1