热门搜索 :
考研考公
您的当前位置:首页正文

WordPress版微信小程序开发系列(一):WordPress

来源:东饰资讯网

如果是WordPress 4.7 或更高版本,要想正常访问 api,需要调整满足两个条件:

1.设置WordPress 的固定链接(permalink).

2、URL重写(url rewrite),也就是设置WordPress的伪静态。

一、设置WordPress 的固定链接(permalink)

打开Wordpress后台设置,如下图所示:

选择除了“朴素”以外的其他选项都可以。不过注意一点:最好在固定链接的最后加上html的为后缀,虽然不加并不影响json api的使用,但考虑到小程序里的站内链接目前是通过判断html的后缀来获取文章slug值,如果不加html后缀会导致小程序的站内链接无法跳转,后续我会考虑完善兼容不带html后缀的固定链接的方式。

一、URL重写

设置完固定链接后,就可以可以通过以下的链接方式来访问REST API 了,比如查看文章列表的json:

但是这种方式看上去并不是那么优雅,中间还夹杂这index.php,如果去掉就是就感觉完美一些,这就需要通过URL 重写来实现,具体重写的原理就不详细阐述了,下面给出在不同的web服务器下URL重写代码。

1.IIS 7服务器

2.Apache服务器

在WordPress网站根目录下增加.htaccess文件,加入 URL重写代码:

# BEGIN WordPress

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

# END WordPress

3.nginx服务器

增加一个conf文件比如wordpress.conf,加入 URL重写代码:

location / {

try_files $uri $uri/ /index.php?$args;

}

经过URL重写后,REST API访问的链接的地址就变成这样了:

特别注意:

1.如果WordPress网站安装了水煮鱼的WPJAM Basic插件,在该插件的设置项里有个选项:

如果你的博客没有客户端,建议屏蔽 REST API 功能。

不要勾选这个选项,如果勾选了,json将无法访问。

如果你通过其他的方式屏蔽了json的访问,也要取消。

location /wp-json {

return 403;

}

try_files $uri $uri/ /index.php?$args;

}

不过这方法只是权宜之计,只要开放一个功能必然会打来隐患,有得必有失,看你的选择了。

Top