• 本博客已正式上线 IPv4 + IPv6 双栈访问

HDWiki互动百科Nginx下伪静态规则

挨踢网络 Young Free! 7年前 (2017-02-16) 3466次浏览 0个评论 扫描二维码

> 挨踢网络 > HDWiki互动百科Nginx下伪静态规则

年前赶上了某主机商的活动,2G内存 / 2G Vswap / 2核 的VPS才24刀一年,虽然明知这个母机肯定超售严重,但还是没忍住剁手买了一台,毕竟它还赠送同配置VPS一台。而且,比YoungFree目前用的Direct Space还便宜 一半。这便宜,捡得。

捡了个便宜货,再烂也要用起来,这几天在不停的搬家。新VPS配置的是Tengine+PHP模式,在这一模式下,发现问题不少,HDWIKI 的伪静态总是出错。经过多方摸索与调试,这里分享下几个常见的不可用的伪静态规则,同时也分享下哥亲测可用的规则。

不可用规则一

这一规则,很多人可用,但也很多人说不可用,反正哥用不了。这一规则要求互动百科后台启用所有的伪静态规则

if (!-e $request_filename)
{
rewrite ^/(.*)$ /index.php?$1;
}

如果是在子目录下请使用以下规则:

if (!-e $request_filename)
{
rewrite ^(/HDwiki)/(.*)$ $1/index.php?$2;
}

不可用规则二

如果你只打算针对词条启用伪静态规则,那么,下面这条可以参靠,但是不保证可用,哥无法使用

# 修改以下语句中的 /HDwiki 为你的HDwiki目录地址,如果程序放在根目录中,请将 /HDwiki 修改为 /
rewrite ^(/HDwiki)/wiki/(.*)$ $1/index.php?doc-innerlink-$2 last;

不可用规则三

这条规则是群友分享,他自用的 5.1版本的,但是哥在Tengine+PHP模式下亲测无法启用。

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版本均可用。当然,前提是后台启用所有伪静态规则。

if (!-f $request_filename)
       {
               rewrite ^/(.*)$ /index.php?$1;
       }

猜猜哥修改了哪里?至于为什么要这么修改,哥也不知道,如果您知道,欢迎留言赐教。


Young Free! , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA 4.0协议进行授权
转载请注明原文链接:HDWiki互动百科Nginx下伪静态规则
喜欢 (1)
[]
分享 (0)
关于作者:
欢迎来吐槽,也欢迎一起交流。如果无法在本文下评论,可以点击信封按钮,给我发送邮件。
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!


请文明发言,谢谢。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址