WordPress的多站点网络有2种, 子域名和子目录。
按照WordPress官方的教程设置好多站点以后
适用于OpenLiteSpeed的伪静态规则:
子域名模式:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
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]
同时在 OLS控制台内为监听器添加 泛域名支持。 添加 *.域名 , 2个域名之间用英文逗号(,)间隔,如截图:
子目录模式:
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]
修改.htaccess后,记得重启OLS,否则新配置文件不会生效!
很重要的一件事: 不管是 子目录 还是子域名, 固定链接 一定要先设置成“朴素” 然后再切换成你原来的或者你想要的,这一步不切换的话,目录页面会出404找不到。 我也不知道为什么会这样。