前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress多站点模式 在Nginx下的rewrite配置方法

WordPress多站点模式 在Nginx下的rewrite配置方法

作者头像
魏杰
发布2022-12-23 17:50:51
1.9K0
发布2022-12-23 17:50:51
举报

最近在把很多应用从Apache转入Nginx下,遇到最棘手的问题莫过于两个平台下rewrite规则的重新调整,下面就拿WordPress为例,和大家分享一下WordPress在多站点模式下,如何配置Nginx中的rewrite规则。

我们在开启WordPress(版本:3.2.1)多站点模式的过程中,会提示我们将一段rewrite写入.htaccess文件中,如下:

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

# uploaded files RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

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

1 [L] RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php) 1 [L] RewriteRule . index.php [L]

上面这些规则是应用于Apache的,到了Nginx下是行不通的,我们需要对规则进行一些调整。开始,我从网上找了很多案例进行尝试,没有一个能够正常运行,于是经过一番摸索后,写出了下面的规则,WordPress多站点模式在这套规则下可以正常运行。

下面是我调整后的Nginx下rewrite规则:

location ~ /[_0-9a-zA-Z-]+/wp-admin/$ {     rewrite ^/[_0-9a-zA-Z-]+/wp-admin/$ /wp-admin/ break; } location ~ /[_0-9a-zA-Z-]+/wp-([a-zA-Z-])*\.php {     rewrite ^/[_0-9a-zA-Z-]+/(.*\.php) /$1 last; } location ~ /[_0-9a-zA-Z-]+/wp-(admin|content|includes).* {     rewrite ^/[_0-9a-zA-Z-]+/(wp-(admin|content|includes).*) /$1; } location / {     if (-f $request_filename) {         break;     }     if (!-e $request_filename) {         rewrite . /index.php last;     } }

阳光部落原创,更多内容请访问 http://www.sunbloger.com/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
网站建设
网站建设(Website Design Service,WDS),是帮助您快速搭建企业网站的服务。通过自助模板建站工具及专业设计服务,无需了解代码技术,即可自由拖拽模块,可视化完成网站管理。全功能管理后台操作方便,一次更新,数据多端同步,省时省心。使用网站建设服务,您无需维持技术和设计师团队,即可快速实现网站上线,达到企业数字化转型的目的。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档