專注CJ聯盟
不止CJ聯盟

二級目錄discuz偽靜態解決方案

有心的人可能會發現,我這次賺客成長會是建在二級目錄里的,而不是二級域名。也就是www.954216.live/bbs,而不是bbs.52zd.com。

至于為什么這么建呢,據說是因為/bbs的形式,如果bbs權重起來可以帶動主域名的權重。我覺得簡單的理解,可能對搜索引擎而言,/bbs的形式就與我們在wordpress新建個分類目錄沒大區別。而bbs.52zd.com則完全是一個新的域名。

采用二級目錄建站,就要求主目錄網站與二級目錄的網站都得放在同一個主機里。因為www.954216.live/bbs是無法單獨解析的。正是因為這個原因,我把博客從老薛搬家到了vultr上。也因為數據庫表的格式問題,導致我那天搬家一直恢復不成功,要看八卦的可以看《罪魁禍首竟然是他》。

我不知道是不是大多數vps環境都默認只設置主域名的偽靜態。比如我在用LNMP一鍵安裝包時,會要求選擇偽靜態規則

LNMP偽靜態選擇

AMH的后臺安裝完rewrite的模塊后,也有偽靜態的選擇。

但不管是LNMP還是AMH的,網站二級目錄下的偽靜態是沒有的,需要自己去修改。我也是在網上找了好多文章搞定了這件事情。一方面也是因為我對VPS不熟悉,另外一方面也是寫的人都寫的太含糊了點。


解決方案

比如www.954216.live已經實現偽靜態,而我在想在bbs目錄再安裝一個discuz或者其它程序(比如:www.954216.live/bbs),那么默認的偽靜態規則是不會繼承的,我們需要引入新的規則來實現。

一、新建rewrite規則,復制下面的規則然后另存為discuz2.conf

location /bbs/ {
rewrite ^([^\.]*)/topic-(.+)\.html$ $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) {
return 404;
}
}

如果不會新建,那也可以把vps里原先就存在的偽靜態規則文件復制一份進行修改。不管是AMH的還是LNMP的都是自帶discuz的規則的。

二、將創建的discuz2.conf存放至服務器/usr/local/nginx/conf/rewrite目錄中

三、打開/usr/local/nginx/conf/vhost目錄,找到網站的配置文件,比如我的是52zd.com.conf在server{}引入新增的discuz2.conf文件。

原先是

include wordpress.conf;

修改為

include wordpress.conf;

include discuz2.conf;

然后保存并覆蓋,如果怕改錯,建議先備份。

 

四、重啟VPS就可以了

 

這里要感謝下xiaoz.me,我是在他博客找到的解決方案。雖然他是wordpress下新建目錄再做個wordpress,而我是WP下建DZ。他是AMH,我是LNMP,但是原理都是相同的。我就是按照他的步驟解決的這個問題。

但我在看到他說在52zd.com.conf在server{}引入新增的discuz2.conf文件時,寫成

include wordpress.conf discuz2.conf;

而不是

include wordpress.conf;

include discuz2.conf;

最終還是厚顏無恥的加他QQ,咨詢他,結果對方幫我上線看了下,給我修改了。還是好人多,另外自己也得臉皮厚

贊(0)
未經允許不得轉載:賺刀博客 » 二級目錄discuz偽靜態解決方案

評論 搶沙發

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址

賺刀博客——專注CJ聯盟,不止CJ聯盟

聯系小龍蝦CJ聯盟交流群
516金蟾捕鱼下载 最新特马免费资料 澳洲幸运8开奖平台 微信勇士团队赚钱 手机足球网即时比分 股票可以网上开户吗 闲来安徽麻将手机下载 富贵乐园棋牌游戏下载大全 手机网上赚钱app 小数定双码打一肖 股票的融资融券信息