服务器环境
- CentOS 6.8
- WordPress 4.9.9
- Nginx 1.14.2
修改 Nginx 配置文件
- 使用命令
sudo vi /path/to/nginx.conf
打开 Nginx 的配置文件 - 在对应的 server 块的 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;
}
- 然后在该 server 块里边添加一条额外的重写规则,不然 wordpress 的后台选项会出现404,内容如下:
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
按照上面的添加完大概就像下面这个样子:
... ...
server {
listen 80;
server_name youwebsite.com www.youwebsite.com *.youwebsite.com;
location / {
root /usr/local/nginx/html/mini-geek;
index index.html index.php index.htm;
# 这里是 wp 的重写规则
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;
}
}
# 这里是额外的重写规则,没有这条wp后台会出现404的报错
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
include site_params;
}
}
... ...
写在最后
最後までご覧いただいてありがとうございます~