教學 Synology NAS 進階教學:針對 XenForo商用論壇,對Nginx啟用Rewrite功能。

Lilyandy

New member
管理成員
Synology NAS 進階教學:針對 XenForo商用論壇,對Nginx啟用Rewrite功能。

雖然老朽架設 XenForo 已為不短的時間了,
從 XenForo v1 最初版本,就已購買終身授權了,
目前已更新至 XenForo v2.2.8 Patch1,
雖然不是最新版本…XD

由於使用 Synology NAS DSM 預設的 Nginx 為主體,
並非使用 Apache,也非 Docker Nginx,
因此在修改設定檔時,難度並不小!
根據老朽與Synology技術人員之討論,
找到合適修改設定檔的方式,
同時也不會因為DSM重啟後,造成設定檔還原的問題,
Synology技術人員還是貼心的提供進階自訂設定檔的功能,
以下是進階操作方式!

首先,說明目前的環境:
★Synology DS718+ (8GB RAM)
★DSM 7.2.1 update7
★預設 Nginx + PHP + MariaDB 10
★有設定子域名:Lilyandy休閒資訊網

以下是 XenForo 官網提供的 Nginx Rewrite 設定檔內容:
#====================================================
location /xf/ {
try_files $uri $uri/ /xf/index.php?$uri&$args;
index index.php index.html;
}

location ^~ /xf/install/data/ {
internal;
}
location ^~ /xf/install/templates/ {
internal;
}
location ^~ /xf/internal_data/ {
internal;
}
location ^~ /xf/library/ { #legacy
internal;
}
location ^~ /xf/src/ {
internal;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#====================================================
說明:
①/xf/必須更改路徑以符合您的 XenForo 安裝路徑。
②此配置還有助於保護對通常無法存取的目錄的基於 Web 的存取。

該意思是說明,/xf/請自行修改正確的相對路徑,
如果網址是:https://www.lilyandy.com/xenforo/ 的話,
那麼,請將 /xf/ 改為 /xenforo/,這樣路徑才正確!
因為老朽使用了子域名,因此將 /xf 刪除,否則路徑會錯誤!

現在,我們必需SSH登入NAS修改設定檔!
請注意,在修改後重啟Nginx前,
請勿在XenForo設定『使用最佳URLs / (Use full friendly URLs)』,
否則將可能出錯!若不小心改動,請勿離開該頁面!
否則將無法再進入設定!
【若您不會使用SSH,請先閱讀老朽之前提供的教學!在此不再贅述!】

首先,請依管理員身份登入SSH,並且取得管理權限。
接下來以下指令,進入sites-enabled設定檔資料夾:
cd /etc/nginx/sites-enabled
請用cat指令,查看所有的 webservice_portal_{ID},例如:
cat webservice_portal_198e2b8d-f88c-4e70-b6ac-0f9a397d8f79
尋找正確的設定檔,在此是尋找 xf.lilyandy.com 這關鍵詞,
經過一一的尋找,老朽找到了以下設定檔,滿足尋找條件:
webservice_portal_198e2b8d-f88c-4e70-b6ac-0f9a397d8f79
其設定檔內容為:
2025-03-27_124453.png

其中這一行!就是我們要的,等會就要用到!
include conf.d/.service.198e2b8d-f88c-4e70-b6ac-0f9a397d8f79.4592a502-392a-47f1-9560-5933defe243a.conf*;
請取後五碼英數值,以上述為例,得到以下,非常重要!務必記好!
4592a502-392a-47f1-9560-5933defe243a

現在,下達以下指令,前往conf.d設定檔資料夾:
cd /usr/local/etc/nginx/conf.d/
建立 4592a502-392a-47f1-9560-5933defe243a 資料夾:
midkr 4592a502-392a-47f1-9560-5933defe243a
進入 4592a502-392a-47f1-9560-5933defe243a 資料夾 :
cd 4592a502-392a-47f1-9560-5933defe243a
新增名為 user.conf 的設定檔:
vim user.conf
並加入以下內容,本範例為『子域名』設定方式:
#====================================================
location / {
try_files $uri $uri/ /index.php?$uri&$args;
index index.php index.html;
}

location ^~ /install/data/ {
internal;
}
location ^~ /install/templates/ {
internal;
}
location ^~ /internal_data/ {
internal;
}
location ^~ /library/ { #legacy
internal;
}
location ^~ /src/ {
internal;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#====================================================
2025-03-27_130319.png

:wq! 存檔!

最後,下達以下指令,重新載入Nginx設定檔:
synow3tool --gen-all && systemctl reload nginx

現在針對 xf.lilyandy.com 的 Rewrite 設定已生效!
回到 XenForo 設定→『搜尋引擎優化(SEO) /
Search engine optimization (SEO)』
將『使用最佳URLs /(Use full friendly URLs)』打勾→保存

這樣 XenForo 就完成最佳化URL設定了!

啟用前:
2025-03-27_130926.png


啟用後:
2025-03-27_130648.png


您成功了嗎?

謝謝觀賞!^_^
 
最後編輯:
訪客聊天
幫助 使用者
  • 目前沒有人在聊天。
    聊天中沒有消息。成為第一個打招呼的人!
    頂部