开发者社区> 问答> 正文

nginx写二级目录下安装wordpress多用户版伪静态规则

想在我网站二级目录下“/group/”安装wordpress多用户版,可是wordpress给出的是apache的.haccess规则,如何将.haccess 规则转换为nginx规则。
找了些在线转换工具,转换后都打不开网站。
请教一下两个问题:
1. 二级目录的nginx规则是不是也是写在/a/apps/nginx/vhosts/xxx.com.config文件中。
2. 二级目录多用户wordpress的nginx规则如何写。
麻烦懂这方面的你帮忙指点指点


以下分别是“.haccess规则”和主目录下安装wordpress的nginx规则(用二级域名请自测试,可以实现)。



.haccess规则 RewriteEngine On
RewriteBase /group/ 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]


主目录下安装wordpress多用户版的nginx规则:

# WordPress multisite subdirectory rules.
# Designed to be included in any server {} block.
# This order might seem weird - this is attempted to match last if rules below fail.
# http冒号//wiki点nginx点org/HttpCoreModule
location / {
try_files $uri $uri/ /index.php?$args;
}


# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;


# Pass uploaded files to wp-includes/ms-files.php.
rewrite /files/$ /index.php last;


# For multisite: Use a caching plugin that creates symlinks to the correct subdirectory structure to get some performance gains.
set $cachetest "$document_root/wp-content/ms-filemap/${host}${uri}";
if ($uri ~ /$) {
set $cachetest "";
}
if (-f $cachetest) {
# Rewrites the URI and stops rewrite processing so it doesn't start over and attempt to pass it to the next rule.
rewrite ^ /wp-content/ms-filemap/${host}${uri} break;
}


if ($uri !~ wp-content/plugins) {
rewrite /files/(.+)$ /wp-includes/ms-files.php?file=$1 last;
}


# Uncomment one of the lines below for the appropriate caching plugin (if used).
#include global/wordpress-ms-subdir-wp-super-cache.conf;
#include global/wordpress-ms-subdir-w3-total-cache.conf;


# Rewrite multisite '.../wp-.*' and '.../*.php'.
if (!-e $request_filename) {
rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
rewrite ^/[_0-9a-zA-Z-]+.*(/wp-admin/.*.php)$ $1 last;
rewrite ^/[_0-9a-zA-Z-]+(/.*.php)$ $1 last;
}

展开
收起
jiansh 2015-07-07 00:57:56 9765 0
3 条回答
写回答
取消 提交回答
  • 关注云生态,专注云服务。
    引用楼主jiansh于2015-07-07 00:57发表的 nginx写二级目录下安装wordpress多用户版伪静态规则 :
    想在我网站二级目录下“/group/”安装wordpress多用户版,可是wordpress给出的是apache的.haccess规则,如何将.haccess 规则转换为nginx规则。
    找了些在线转换工具,转换后都打不开网站。
    请教一下两个问题:
    1. 二级目录的nginx规则是不是也是写在/a/apps/nginx/vhosts/xxx.com.config文件中。
    2. 二级目录多用户wordpress的nginx规则如何写。
    ....... [url=http://bbs.aliyun.com/job.php?action=topost&tid=250138&pid=tpc][/url]

    建议化繁为简一步一步进行:
    1、先不要使用nginx,直接安装WP MU,WP MU在二级目录下安装完全没有问题,相应的 .haccess规则在安装过程中可以自动生成
    2、安装成功,在加上nginx
    nginx的东东,我们没有研究过,以上提法,仅供参考。
    2015-07-13 22:07:46
    赞同 展开评论 打赏
  • 百度一下很多的
    2015-07-08 18:07:56
    赞同 展开评论 打赏
  • 如果是LNMP一键包,静态规则应该是在/usr/local/nginx/conf目录里面,然后在/usr/local/nginx/conf/vhost/域名.conf配置文件里面通过include wordpress.conf;调用的,有些是直接将规则写到配置文件里面的。

    2015-07-08 17:33:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载