WordPress从Apache切换到Nginx服务器遇到的小问题
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
今天客户WordPress的Web服务器从Apache切换到了Nginx,还安装了宝塔控制面板,中间一些小问题,特此记录一下;在BT面板后台,点“网站”-“设置”-“伪静态”,对于单站点的WordPress来说,原先的.htaccess文件内容如下:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
切换到Nginx系统后,其配置内容如下:
location / {
try_files $uri $uri/ /index.php?$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 ^ /index.php last;
}
此外,服务器上还安装了v2ray,原先在Apache里配置的内容如下:
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /test/(.*) ws://127.0.0.1:11111/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /test/(.*) http://127.0.0.1:11111/$1 [P,L]
切换到Nginx后,在Nginx服务器配置文件里修改的内容如下:
location /test/ {
proxy_pass http://127.0.0.1:11111/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
到此遇到的问题结束,希望能帮助后来者的人;
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!