这几天有几台WordPress web服务器从Apache转换到Nginx,中间出现了很多问题,请记录下来,以便以后维护。
对于WordPress站点来说,固定链接主要是通过根目录下的.htaccess文件来控制,切换服务器后,Nginx的rewrite格式和Apache的不同,需要修改。
先卸载Apache系统,之后安装Nginx系统。
在BT面板后台,点“网站”-“设置”-“伪静态”,对于单站点的WordPress来说,原先的.htaccess文件内容如下:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . [L]
切换到Nginx系统后,其配置内容如下:
location / {
try_files $uri $uri/ ?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
对于子域名方式的多站点的WordPress来说,原先的.htaccess文件内容如下:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
切换到Nginx系统后,其配置内容如下:
if (!-e $request_filename) {
rewrite ^.+?(/wp-.*) $1 last;
rewrite ^.+?(/.*\.php)$ $1 last;
rewrite ^ last;
}
此外,服务器上还安装了v2ray,原先在Apache里配置的内容如下:
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /test/(.*) w$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /test/(.*) $1 [P,L]
切换到Nginx后,在Nginx服务器配置文件里修改的内容如下:
location /test/ {
proxy_pass ;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
1.《WordPress切换到Nginx服务器教程》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《WordPress切换到Nginx服务器教程》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/2064742.html