From eeee55e215a04442e1d4edf8d8474442392c048c Mon Sep 17 00:00:00 2001
From: jacy <18049821889@163.com>
Date: Tue, 1 Sep 2026 09:11:43 +0800
Subject: [PATCH] =?UTF-8?q?fix(admin):=20=E5=90=8E=E5=8F=B0=E6=A0=A1?=
=?UTF-8?q?=E9=AA=8C=E6=96=87=E4=BB=B6=E9=81=BF=E5=85=8D=20301=EF=BC=8C?=
=?UTF-8?q?=E5=B9=B6=E8=AE=A9=E6=90=9C=E7=B4=A2=E5=BC=95=E6=93=8E=E8=AF=BB?=
=?UTF-8?q?=E5=88=B0=20noindex?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
serve -s 会把 .html 301 去后缀,百度站长验证失败;同时放开 robots 抓取,避免旧标题一直留在 SERP。
---
apps/admin-web/index.html | 6 +++--
.../baidu_verify_codeva-F11FFjDzGk.html | 1 +
apps/admin-web/public/robots.txt | 2 +-
apps/admin-web/serve.json | 7 ++++++
apps/h5-partner/index.html | 3 ++-
apps/h5-partner/public/robots.txt | 2 +-
apps/h5-shop/index.html | 3 ++-
apps/h5-shop/public/robots.txt | 2 +-
deploy/ecosystem.config.cjs | 3 ++-
deploy/ecosystem.staging.config.cjs | 2 +-
deploy/nginx-no-crawler.conf | 11 +++++----
deploy/remote-release.sh | 23 +++++++++++--------
12 files changed, 42 insertions(+), 23 deletions(-)
create mode 100644 apps/admin-web/public/baidu_verify_codeva-F11FFjDzGk.html
create mode 100644 apps/admin-web/serve.json
diff --git a/apps/admin-web/index.html b/apps/admin-web/index.html
index 444c643..4b80f75 100644
--- a/apps/admin-web/index.html
+++ b/apps/admin-web/index.html
@@ -3,8 +3,10 @@
-
- 杜康好客 · HQ 管理后台
+
+
+
+ 管理后台
diff --git a/apps/admin-web/public/baidu_verify_codeva-F11FFjDzGk.html b/apps/admin-web/public/baidu_verify_codeva-F11FFjDzGk.html
new file mode 100644
index 0000000..d247f31
--- /dev/null
+++ b/apps/admin-web/public/baidu_verify_codeva-F11FFjDzGk.html
@@ -0,0 +1 @@
+1aacdfe9dcc03f68e4dd855f8c4c8f33
diff --git a/apps/admin-web/public/robots.txt b/apps/admin-web/public/robots.txt
index 1f53798..c2a49f4 100644
--- a/apps/admin-web/public/robots.txt
+++ b/apps/admin-web/public/robots.txt
@@ -1,2 +1,2 @@
User-agent: *
-Disallow: /
+Allow: /
diff --git a/apps/admin-web/serve.json b/apps/admin-web/serve.json
new file mode 100644
index 0000000..f7fcd9a
--- /dev/null
+++ b/apps/admin-web/serve.json
@@ -0,0 +1,7 @@
+{
+ "cleanUrls": false,
+ "trailingSlash": false,
+ "rewrites": [
+ { "source": "**", "destination": "/index.html" }
+ ]
+}
diff --git a/apps/h5-partner/index.html b/apps/h5-partner/index.html
index 4998d25..45112e0 100644
--- a/apps/h5-partner/index.html
+++ b/apps/h5-partner/index.html
@@ -3,7 +3,8 @@
-
+
+
城市合伙人
diff --git a/apps/h5-partner/public/robots.txt b/apps/h5-partner/public/robots.txt
index 1f53798..c2a49f4 100644
--- a/apps/h5-partner/public/robots.txt
+++ b/apps/h5-partner/public/robots.txt
@@ -1,2 +1,2 @@
User-agent: *
-Disallow: /
+Allow: /
diff --git a/apps/h5-shop/index.html b/apps/h5-shop/index.html
index 446ed46..0519956 100644
--- a/apps/h5-shop/index.html
+++ b/apps/h5-shop/index.html
@@ -3,7 +3,8 @@
-
+
+
门店管理中心
diff --git a/apps/h5-shop/public/robots.txt b/apps/h5-shop/public/robots.txt
index 1f53798..c2a49f4 100644
--- a/apps/h5-shop/public/robots.txt
+++ b/apps/h5-shop/public/robots.txt
@@ -1,2 +1,2 @@
User-agent: *
-Disallow: /
+Allow: /
diff --git a/deploy/ecosystem.config.cjs b/deploy/ecosystem.config.cjs
index 64b585a..41c8fac 100644
--- a/deploy/ecosystem.config.cjs
+++ b/deploy/ecosystem.config.cjs
@@ -46,10 +46,11 @@ module.exports = {
exec_mode: 'fork',
},
{
+ // cleanUrls:false 见 apps/admin-web/serve.json;否则百度校验 .html 会被 301 去后缀
name: 'dukang-admin-web',
cwd: `${APP_ROOT}/apps/admin-web`,
script: 'npx',
- args: 'serve -s dist -l 8094',
+ args: 'serve dist -l 8094 -c serve.json',
interpreter: 'none',
instances: 1,
exec_mode: 'fork',
diff --git a/deploy/ecosystem.staging.config.cjs b/deploy/ecosystem.staging.config.cjs
index 3603f3c..daa30a3 100644
--- a/deploy/ecosystem.staging.config.cjs
+++ b/deploy/ecosystem.staging.config.cjs
@@ -46,7 +46,7 @@ module.exports = {
name: 'dukang-stg-admin-web',
cwd: `${APP_ROOT}/apps/admin-web`,
script: 'npx',
- args: 'serve -s dist -l 8194',
+ args: 'serve dist -l 8194 -c serve.json',
interpreter: 'none',
instances: 1,
exec_mode: 'fork',
diff --git a/deploy/nginx-no-crawler.conf b/deploy/nginx-no-crawler.conf
index 7e8ffd4..455a3a7 100644
--- a/deploy/nginx-no-crawler.conf
+++ b/deploy/nginx-no-crawler.conf
@@ -1,11 +1,12 @@
-# 禁止搜索引擎抓取(shop / partner / admin,含测试域)
-# 合规爬虫读 robots.txt;X-Robots-Tag 覆盖不先读 robots.txt 的抓取器
+# 禁止搜索引擎收录(shop / partner / admin,含测试域)
+# 必须允许抓取页面:Disallow:/ 会让百度无法读到 noindex,旧标题会一直留在 SERP。
+# X-Robots-Tag 覆盖不先读 robots.txt / 不执行 JS 的抓取器。
-add_header X-Robots-Tag "noindex, nofollow, noarchive" always;
+add_header X-Robots-Tag "noindex, nofollow, noarchive, nosnippet" always;
location = /robots.txt {
default_type text/plain;
charset utf-8;
- add_header X-Robots-Tag "noindex, nofollow, noarchive" always;
- return 200 "User-agent: *\nDisallow: /\n";
+ add_header X-Robots-Tag "noindex, nofollow, noarchive, nosnippet" always;
+ return 200 "User-agent: *\nAllow: /\n";
}
diff --git a/deploy/remote-release.sh b/deploy/remote-release.sh
index d080cc6..21789ab 100644
--- a/deploy/remote-release.sh
+++ b/deploy/remote-release.sh
@@ -138,19 +138,26 @@ if [[ "$SKIP_BUILD" == false ]]; then
if [[ -f "$APP_ROOT/apps/mini-user/serve.json" ]]; then
cp -f "$APP_ROOT/apps/mini-user/serve.json" "$APP_ROOT/apps/mini-user/dist/serve.json"
fi
+ if [[ -f "$APP_ROOT/apps/admin-web/serve.json" ]]; then
+ cp -f "$APP_ROOT/apps/admin-web/serve.json" "$APP_ROOT/apps/admin-web/dist/serve.json"
+ fi
else
echo "==> 4. 跳过构建"
if [[ -f "$APP_ROOT/apps/mini-user/serve.json" && -d "$APP_ROOT/apps/mini-user/dist" ]]; then
cp -f "$APP_ROOT/apps/mini-user/serve.json" "$APP_ROOT/apps/mini-user/dist/serve.json"
fi
+ if [[ -f "$APP_ROOT/apps/admin-web/serve.json" && -d "$APP_ROOT/apps/admin-web/dist" ]]; then
+ cp -f "$APP_ROOT/apps/admin-web/serve.json" "$APP_ROOT/apps/admin-web/dist/serve.json"
+ fi
fi
echo "==> 5. 重启 PM2 ($ECOSYSTEM_FILE)"
if pm2 describe "$PM2_API" &>/dev/null; then
pm2 delete "$PM2_USER" 2>/dev/null || true
+ pm2 delete "$PM2_ADMIN" 2>/dev/null || true
pm2 start "$DEPLOY_DIR/$ECOSYSTEM_FILE" --only "$PM2_USER"
- pm2 restart "$PM2_API" "$PM2_SHOP" "$PM2_PARTNER" "$PM2_ADMIN" 2>/dev/null \
- || pm2 restart "$PM2_API" "$PM2_SHOP" "$PM2_PARTNER"
+ pm2 start "$DEPLOY_DIR/$ECOSYSTEM_FILE" --only "$PM2_ADMIN"
+ pm2 restart "$PM2_API" "$PM2_SHOP" "$PM2_PARTNER" 2>/dev/null || true
else
pm2 start "$DEPLOY_DIR/$ECOSYSTEM_FILE"
fi
@@ -173,11 +180,9 @@ APP_ROOT="$APP_ROOT" DEPLOY_TRIGGER="${DEPLOY_TRIGGER:-manual}" DUKANG_ENV_FILE=
echo "==> 发版完成 ($DUKANG_DEPLOY_ENV)"
-if [[ "$DUKANG_DEPLOY_ENV" == "staging" ]]; then
- echo "==> 8. 重载 nginx(staging)"
- if command -v nginx >/dev/null 2>&1 && nginx -t 2>/dev/null; then
- systemctl reload nginx || echo "WARN: nginx reload failed"
- else
- echo "WARN: nginx 未安装或配置校验失败,跳过重载"
- fi
+echo "==> 8. 重载 nginx(robots.txt / 校验文件等 include 配置)"
+if command -v nginx >/dev/null 2>&1 && nginx -t 2>/dev/null; then
+ systemctl reload nginx || echo "WARN: nginx reload failed"
+else
+ echo "WARN: nginx 未安装或配置校验失败,跳过重载"
fi