子域名多站点安装的Nginx规则(Bedock)

时间:2014-03-20 作者:etc

我正在尝试将现有的基于基岩的多站点实例移动到nginx,但很难获得一组nginx规则来模仿原始规则。htaccess。基岩将文件的关键放在wp/子目录中,但URL仍然需要从根域访问。

这个htaccess如下所示:

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).*) wp/$1 [L]
RewriteRule ^(.*\\.php)$ wp/$1 [L]
RewriteRule . index.php [L]
我需要这些至少作为nginx conf规则,或者最好是nginx vhost规则。

2 个回复
最合适的回答,由SO网友:etc 整理而成

rewrite /wp-admin$ $scheme://$host$uri/ last;
rewrite ^/(wp-.*.php)$ /wp/$1 last;
rewrite ^/(wp-(content|admin|includes).*) /wp/$1 last;
这些是您需要的等效重写规则。注意,使用此重写时,您不再需要将site\\u url设置为/wp

我需要完成一些测试,但会在这里更新结果。

SO网友:Ken Prince

好吧,有个聪明人删除了我的上一篇帖子。

上述成员(@etc)在另一个论坛上给了我一个答案,答案很好,如下所示:

# Rewrites for Bedrock Multi-Site Subdomain Setup
rewrite /wp-admin$ $scheme://$host$uri/ last;
rewrite ^/(wp-.*.php)$ /wp/$1 last;
rewrite ^/(wp-(content|admin|includes).*) /wp/$1 last;
他修改了答案,但没有发回这里。我只是想在遇到这个线程时更新它。

结束

相关推荐

一些Pemalink问题,可能是由错误的.htaccess配置引起的?

我已经在我的本地Web服务器上导入了一个使用WordPress创建的网站的备份,但我发现在PermaLink 配置主要问题是,如果我使用设置为文章名称的永久链接,我可以看到主页,但如果我单击进入主页的文章链接(以查看文章),我总是会收到以下消息错误:找不到在此服务器上找不到请求的URL/wordpress35/2012/10/11/se milano avesse il mare anzi no la montagna di campiglio/。如果我改为使用permalink的默认设置(http://