年前赶上了某主机商的活动,2G内存 / 2G Vswap / 2核 的VPS才24刀一年,虽然明知这个母机肯定超售严重,但还是没忍住剁手买了一台,毕竟它还赠送同配置VPS一台。而且,比YoungFree目前用的Direct Space还便宜 一半。这便宜,捡得。
捡了个便宜货,再烂也要用起来,这几天在不停的搬家。新VPS配置的是Tengine+PHP模式,在这一模式下,发现问题不少,HDWIKI 的伪静态总是出错。经过多方摸索与调试,这里分享下几个常见的不可用的伪静态规则,同时也分享下哥亲测可用的规则。
不可用规则一
这一规则,很多人可用,但也很多人说不可用,反正哥用不了。这一规则要求互动百科后台启用所有的伪静态规则
1 2 3 4 |
if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?$1; } |
如果是在子目录下请使用以下规则:
1 2 3 4 |
if (!-e $request_filename) { rewrite ^(/HDwiki)/(.*)$ $1/index.php?$2; } |
不可用规则二
如果你只打算针对词条启用伪静态规则,那么,下面这条可以参靠,但是不保证可用,哥无法使用
1 2 |
# 修改以下语句中的 /HDwiki 为你的HDwiki目录地址,如果程序放在根目录中,请将 /HDwiki 修改为 / rewrite ^(/HDwiki)/wiki/(.*)$ $1/index.php?doc-innerlink-$2 last; |
不可用规则三
这条规则是群友分享,他自用的 5.1版本的,但是哥在Tengine+PHP模式下亲测无法启用。
1 2 3 4 5 6 7 8 9 10 11 |
location / { if (-f $request_filename/index.html) { rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php) { rewrite (.*) $1/index.php; } if (!-f $request_filename) { rewrite (.*) /index.php; } } |
可用规则
这条规则是哥修改过的,亲测可用,HDWiki 5.1 和 6.0版本均可用。当然,前提是后台启用所有伪静态规则。
1 2 3 4 |
if (!-f $request_filename) { rewrite ^/(.*)$ /index.php?$1; } |
猜猜哥修改了哪里?至于为什么要这么修改,哥也不知道,如果您知道,欢迎留言赐教。