Synology DSM nginx of WordPress 固定網址設定

注意!本文適用DSM6.0以上的用戶

由於硬碟的故障導致了Apache無法啟動等連鎖反應,被迫我只能去學習nginx的相關知識

首先碰上的問題是Wordpress無法設定固定網址,之前用Apache自建時也遇過這問題,不過這問題的討論度算高所以很好找答案(之後有時間也來寫教學)

廢話不多說馬上來看今天的問題,爬了一下本國與外國的資料發現群暉把nginx的conf藏在這裡:

/etc/nginx/app.d/server.webstation-vhost.conf

不過根據我的實測,他每天大約11點26分附近會重新reset一次,所以我又找到了另一個目錄:

/usr/local/etc/nginx/sites-enabled/

寫幾個conf進去,在重啟nginx

nginx -s reload

以上適用目錄適用需要大量自訂編輯conf者

但如果已經在DSM已經設定好虛擬網域後,要再額外加寫conf怎麼辦呢?

這時這個方法就派上了用場:

首先找到剛剛提到的server.webstation-vhost.conf文件,每一段的server { } 裡最底都有

他提示你在

/usr/local/etc/nginx/conf.d/xxxxxxxx-xxxx-4ebd-ba05-4afe4980b9fa/

每個server { }裡的底下都會有這行,他也會亂碼產生一個屬於自己的目錄,一但你從DSM的虛擬網域刪除該項,該目錄就會跟著消失。

所有的user.conf*自定義為間都會包含進vhost.conf裡

所以我直接寫了一份user.conf.tklab在該資料夾底下,內容是:

  location / {
                try_files $uri $uri/ /index.php?$args;
       }

       # Add trailing slash to */wp-admin requests.
       rewrite /wp-admin$ $scheme://$host$uri/ permanent;

這樣一來我們就做到了wordpress的固定網址了,很簡單吧!

2019/05/17補充:如果你不是使用WordPress而是使用其他CMS(例如:DiscuzX、drupal等)請使用以下連結的做法

https://yungke.me/nginx-location-rewrite/

感謝網友dannychen的提供

Comments

  1. jason

    哈嘍 剛好也遇到這個問題,只是最後的步驟

    所有的user.conf*自定義為間都會包含進vhost.conf裡

    所以我直接寫了一份user.conf.tklab在該資料夾底下,內容是:

    這段有點看不懂,是要建立一個叫做user.conf的檔案放在

    /usr/local/etc/nginx/conf.d/xxxxxxxx-xxxx-4ebd-ba05-4afe4980b9fa/這邊嗎?

    謝謝您的教學先

      1. Post
        Author
        TK

        很棒,但你可以不用使用user.conf.『tklab』哈哈,那個你可以自定
        然後那個被碼掉的整行都是系統自動建立喔!!

  2. Cadmus

    你好
    先前嘗試自行下載後解壓縮設定安裝wordpress到不同資料夾 類似 /blog 不是內建的 wordpress 都沒有問題
    但現在的DSM 6.2 安裝wordpress 到第二步 就會出現
    405 Not Allowed nginx
    只能使用內建的套件安裝, 如此安裝完也無法自行更改網址(改資料夾名稱直接無法使用)

    可以請教如何自行定義 wordpress 名稱在 synology上嗎?

    謝謝

    1. Post
      Author
      TK

      我個人的DSM版本是6.1.4,之前安裝也都沒遇到類似的問題喔
      我也是用你的那個方式去自訂資料夾名稱
      個人認為6.2很不穩所以都沒升級(汗

    2. Post
      Author
      TK

      重建WP了以後也發現有此問題,你得去phpMyAdmin裡建一個相對應的資料表,編碼與排序使用utf8_general_ci

  3. DannyChen

    你好
    小弟目前正為群暉網站伺服器設定URL重寫所困,
    找到這邊教學但看不到具體設定
    可否請您協助要怎樣設定是否有完整教學資料

    1. Post
      Author
      TK

      呃…我這邊寫的已經挺具體了哈哈,請問你會ssh嗎?這篇教學主要建立在ssh之上,建議你先找跟ssh基本操作有關的教學文喔,如果還是碰壁那也可以多加利用本網站Messenger的功能私訊喔,謝謝!

      1. dannychen

        版大您好
        經過您的提醒,今日有用SSH在 /usr/local/etc/nginx/conf.d/ 資料夾底下
        新增/usr/local/etc/nginx/conf.d/檔案內容如下:
        location / {
        try_files $uri $uri/ /index.php?$args;
        }

        # Add trailing slash to */wp-admin requests.
        rewrite /wp-admin$ $scheme://$host$uri/ permanent;

        原本網頁顯示都是空白的頁面,現在可以稍微顯示主要的框架了,但都是亂碼
        主要是架設ecshop購物車,有設定網址重寫功能。

        1. Post
          Author
  4. tom

    改了之後可以用
    但是過了一天改的東西又給還原了
    每次都這樣
    沒設自動還原

    1. Post
      Author
      TK

      你確定你是寫在user.conf*自定義裡?如果是,方便使用Messenger嗎?我想這樣問題能比較快解決

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料