我们比亚帕基印第安人HTTPD 现在 我们的phpBB 论坛 跑在Nginx网络服务器,高质量和极大改善执行网络服务器。 我们面对的某些挑战是:

  1. 我们在论坛使用好的permalinks那么那里是许多亚帕基印第安人httpd在必须被转换成nginx格式的.htaccess文件的重写规则。
  2. 另外我们必须也配置它同样IP地址的一个真正主持的设定的(服务器)由多个网站分享。

我们必须做的关键变动增加a/在重写情况表示的^之后。 在 亚帕基印第安人HTTPD ,当在nginx它时,请求URI不包含最初/。如同我提及了,在我们使用好的permalinks之前。 niginx的最后的重写规则phpBB的是:

重写^/[a-z0-9_-] *-f ([0-9] +)/?(p ([0-9] +) \ .html) ?$ /viewforum.php ?f=$1&start=$3持续;
#与真正文件夹的题目
重写^/[a-z0-9_-] *-f ([0-9] +)/[a-z0-9_-] *-t ([0-9] +) (- ([0-9] +)) ?\ .html$ /viewtopic.php ?f=$1&t=$2&start=$4持续;
#全球性宣布与真正文件夹
重写^/announces/[a-z0-9_-] *-t ([0-9] +) (- ([0-9] +)) ?\ .html$ /viewtopic.php ?t=$1&start=$3持续;
#没有论坛ID & DELIM的题目
重写^/[a-z0-9_-] * ?[a-z0-9_-] *-t ([0-9] +) (- ([0-9] +)) ?\ .html$ /viewtopic.php ?t=$1&start=$3持续;
#简单的外形
重写^/m ([0-9] +) \ .html$ /memberlist.php ?mode=viewprofile&u=$1持续;
#简单用户的消息
重写^/messages ([0-9] +) (- ([0-9] +)) ?\ .html$ /search.php ?author_id=$1&sr=posts&start=$3持续;
#简单的小组
重写^/g ([0-9] +) (- ([0-9] +)) ?\ .html$ /memberlist.php ?mode=group&g=$1&start=$3持续;
#岗位
重写^/p ([0-9] +) \ .html$ /viewtopic.php ?p=$1持续;
#队
重写^/the队\ .html$ /memberlist.php ?mode=leaders持续;
重写^/[a-z0-9_-] + ?(p ([0-9] +) \ .html) ?$ /viewforum.php ?start=$2持续;

在亚帕基印第安人您能指定RewriteCond (重写情况)连同重写规则。 您不可能做同样在nginx。 然而什么我是:

如果(- e $request_filename) {
        断裂;
    }

这保证现有文件、目录或者符号链使用而不是匹配(和改方向)他们以重写规则。

我们使用同样IP主持几个网站(真正主持),因此我们必须在之内附寄上面重写规则,如果块我们申请它的地方,只有当主人是forum.taragana.com时。 它如下所示:

如果($host ~* ^forum \ .taragana \ .com$) {
        重写^/[a-z0-9_-] *-f ([0-9] +)/?(p ([0-9] +) \ .html) ?$ /viewforum.php ?f=$1&start=$3持续;
        …
}

希望在设定您的nginx服务器的帮助phpBB。 如果您有对请设定phpBB的任何问题在nginx要求它在我们的 论坛