最近有一個好朋友找我諮詢zblog二級目錄偽靜態的問題,起因是這樣的,他之前有zblog搭建了一個站點,然後,現在又想在站點根目錄下再搭建一個問答站點,目錄名稱是這樣qa,路徑是/xxx/qa/,二級目錄搭建完站後,發現URL無法偽靜態,針對這個問題需要注意的是:
在Nginx伺服器配置中,我們需要編寫特定的location規則來處理Z-Blog二級目錄下的動態連結轉為符合SEO標準的靜態路徑格式。下面將為您展示如何在Nginx配置檔案中新增針對Z-Blog二級目錄的偽靜態規則程式碼,以便正確解析和重寫動態URL為靜態形式。
# 子目錄規則要排在前邊; location /qa/ { 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 (.*) /qa/index.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; } }
需要特別注意的是,二級目錄的偽靜態規則,一定要放在主站偽靜態規則的前面。
如果你想搭建多個二級目錄站點,方法也是同理,繼續往上追加即可。