wordpress 修改目录结构后配置url重定向使原链接仍正确访问

6,279次阅读
没有评论

共计 917 个字符,预计需要花费 3 分钟才能阅读完成。

出于对志文工作室站内结构和内容的重构考虑,修改了一些栏目及目录结构,但是这样就使得已有文章的 URL 发生变化,那么如何在修改之后,让文章的原 URL 依然可以正确访问呢?
经过多次的查找学习与尝试,在此列举相关解决方法以供备忘与参考。

在此之前,志文工作室使用的方法是 nginx 下的 wordpress 简洁 URL rewrite 重写方法,代码如下:

location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}

添加了一条 rewrite 规则如下,希望使得旧的 url 依然可以访问,但是尝试此法不可行。

location / {
rewrite ^/Category(.*)/(.*)\.html$ /a/\.html last;
try_files $uri $uri/ /index.php?q=$uri&$args;
}

正确的做法:

后想起曾经配置过某站点的 phpinfo,而 wordpress 通过 phoinfo 方式可以用 index.php/XXX 的方式访问。于是增加了相关配置代码如下示例。

nginx 实现 phpinfo 支持:

location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
#include fastcgi_params;
include fcgi.conf;
}

新的 rewrite 规则:

location / {
rewrite ^/Category(.*)/(.*)\.html$ /index.php/a/\.html last;
try_files $uri $uri/ /index.php?q=$uri&$args;
}

如此之后即可正确的访问了。

正文完
 0
任侠
版权声明:本站原创文章,由 任侠 于2013-08-07发表,共计917字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码