kavo

wordpress 多站点 apache 和 nginx 的伪静态

多站点配置教程就不说了,网上一搜既有!

本篇主要配置伪静态:

apache 这个比较省心,因为配置多站点后,后台配置网络会有提示:

所以在 wordpress 的网站根目录下的  .htaccess 配置添加即可:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Nginx 的配置在 vhost ,目录根据主机配置环境有关可能不同,就是域名的 config 文件加入:

注意格式,复制有误会导致 nginx 启动失败。

#ignored: “-” thing used or unknown variable in regex/rew
rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
if (-f $request_filename){
	set $rule_2 1;
}
if (-d $request_filename){
	set $rule_2 1;
}
if ($rule_2 = "1"){
#ignored: “-” thing used or unknown variable in regex/rew
}
rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 last;
rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last;
rewrite /. /index.php last;

和 apache 的 .htaccess 不同, nginx 的需要重启 nginx 才能生效!

posted on 2019-05-28 15:14  下雨天唱情歌  阅读(34)  评论(0编辑  收藏  举报  来源

导航