规则如下(下面两个规则是放在同一个文件里的):
新程序的规则:
location / {
rewrite "^/page/([0-9]+)$" /page/show.php?page=$1 last;
rewrite "^/([0-9]+).html$" /content.php?id=$1 last;
rewrite "^/zt/([^_/.]+)/([0-9]+)$" /tag/tag.php?text=$1&page=$2 last;
rewrite "^/zt/([^_/.]+)$" /tag/tag.php?text=$1 last;
rewrite "^/([a-z]+)/([0-9]+)$" /list.php?type=$1&page=$2 last;
rewrite "^/([a-z]+)/$" /list.php?type=$1 last;
rewrite "^/([a-z]+)/([0-9]+)/$" /list.php?type=$1&page=$2 last;
rewrite "^/([a-z]+)$" /list.php?type=$1 last;
rewrite "^/sitemap.html$" /sitemap.php last;
break;
}
原有程序( DZ )的规则:
rewrite ^/(.)/$ /$1 permanent; if (!-d $request_filename){ set $rule_1 1$rule_1; } if (!-f $request_filename){ set $rule_1 2$rule_1; } if ($rule_1 = "21"){
rewrite ^([^.])/(.+)/$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^.])/article-([0-9]+)-([0-9]+).html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^.])/forum-(\w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^.])/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^.])/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^.])/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^.])/blog-([0-9]+)-([0-9]+).html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^.])/(fid|tid)-([0-9]+).html$ $1/index.php?action=$2&value=$3 last;
rewrite ^([^.])/([a-z]+[a-z0-9_]*)-([a-z0-9_-]+).html$ $1/plugin.php?id=$2:$3 last;
#if (!-e $request_filename) {
#}
}
原本这个 DZ 的规则不是这样的,这是改了的,原因详见: https://www.v2ex.com/t/522747
现在的问题就是,新程序专题、栏目页面后面不能有斜杠了。
比如新程序正确的专题页面栏目页页面应该如下:
http://www.123456789.com/fenlei/
http://www.123456789.com/zt/tupian/
但是现在这个规则,你加了斜杠,就显示打不开,不加则可以。
比如新程序专题页面对应的是这个:
rewrite "^/zt/([^_/.]+)$" /tag/tag.php?text=$1 last;
加了斜杠的话,就是下面这样:
rewrite "^/zt/([^_/.]+)/$" /tag/tag.php?text=$1 last;
它就打不开了。
不知道我有没有描述清楚,但大概就是这么个问题。
新程序单独的规则在别的域名下,是正常的,就是在这个和 DZ 一起的规则里面,似乎有冲突了。
现在求解决,先谢谢各位了
1
baodaren8 OP 有没有大佬帮我看一下,谢谢了。
|