博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx下WordPress的Rewrite
阅读量:6477 次
发布时间:2019-06-23

本文共 2021 字,大约阅读时间需要 6 分钟。

最近接触WP Super Cache,该插件要求固定链接必须是重写的,故用到Rewrite。

我的是这样配置的:

/usr/local/nginx/conf/rewrite/wordpress.conf

location / {    if (-f $request_filename/index.html){        rewrite (.*) $1/index.html break;    }    if (-f $request_filename/index.php){        rewrite (.*) $1/index.php;    }    if (!-f $request_filename){        rewrite (.*) /index.php;    }}

然后在虚拟主机文件里添加

include /usr/local/nginx/conf/rewrite/wordpress.conf;

即可。

完整的vhost的配置文件:

server {    listen       80;    server_name  me.52fhy.com;    index index.php index.html index.htm;    root /52fhy.com/wordpress/;        location / {        if (-f $request_filename/index.html){            rewrite (.*) $1/index.html break;        }        if (-f $request_filename/index.php){            rewrite (.*) $1/index.php;        }        if (!-f $request_filename){            rewrite (.*) /index.php;        }    }        location ~ .*\.(php|php5)?$    {            #fastcgi_pass  unix:/tmp/php-cgi.sock;            fastcgi_pass  127.0.0.1:9000;            fastcgi_index index.php;            include fastcgi.conf;    }        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$    {        expires 30d;    }        location ~ .*\.(js|css)?$    {        expires 1h;    }    access_log  /www/log/me.52fhy.com.log;}
  • 2015-12-18 11:42:24更新:

    以上rewrite方法导致后台很多菜单无法访问,现更新。原因是:

    location / {#1if (-f $request_filename/index.html){    rewrite (.*) $1/index.html break;}#2if (-f $request_filename/index.php){    rewrite (.*) $1/index.php;}#3if (!-f $request_filename){    rewrite (.*) /index.php;}}

    对于后台http://me.52fhy.com/wp-admin/options-writing.php这种链接将直接匹配#3,实际上这时候不需要任何匹配。故可在#2前添加

    if (-f $request_filename){break;}

    或者全部更新更新为:

    location / {index index.html index.php;if (-f $request_filename) {          break;}if (!-e $request_filename) {          rewrite . /index.php  last;}}

另外,在Apache下,利用mod_rewrite来实现URL的静态化。

.htaccess的内容如下:

# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]# END WordPress

转载地址:http://spqko.baihongyu.com/

你可能感兴趣的文章
Ubuntu搜狗输入法候选词乱码
查看>>
js中回调函数写法
查看>>
React native android 最常见的10个问题
查看>>
数据结构和算法
查看>>
.Net 项目代码风格要求
查看>>
[pat]1045 Favorite Color Stripe
查看>>
Immutable学习及 React 中的实践
查看>>
【转】性能测试步骤
查看>>
OSI与TCP/IP各层的结构与功能,都有哪些协议
查看>>
Android实例-程序切换到后台及从后台切换到前台
查看>>
spring boot启动定时任务
查看>>
值类型和引用类型
查看>>
[转]html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
查看>>
maven 常用插件
查看>>
算法 (二分查找算法)
查看>>
java Date 当天时间戳处理
查看>>
Python~迭代
查看>>
linux常用命令-关机、重启
查看>>
css布局 - 九宫格布局的方法汇总(更新中...)
查看>>
画图函数——点,线,矩形等等
查看>>