diff --git a/src/pages/Forum/posts-detail/PostDetailPage.jsx b/src/pages/Forum/posts-detail/PostDetailPage.jsx
index f703fd6..2e4874a 100644
--- a/src/pages/Forum/posts-detail/PostDetailPage.jsx
+++ b/src/pages/Forum/posts-detail/PostDetailPage.jsx
@@ -14,11 +14,11 @@
   // 如果是 /images/... ，替换成 /uploads/post/...
   if (url.startsWith('/images/')) {
     // 这里把 /images/ 替换成 /uploads/post/
-    return `http://localhost:8080/uploads/post/${url.slice('/images/'.length)}`;
+    return `http://localhost:5011/uploads/post/${url.slice('/images/'.length)}`;
   }
 
   // 其它情况默认直接拼接，不加斜杠
-  return `http://localhost:8080${url.startsWith('/') ? '' : '/'}${url}`;
+  return `http://localhost:5011${url.startsWith('/') ? '' : '/'}${url}`;
 };
 
 
@@ -26,7 +26,7 @@
 export function formatAvatarUrlNoDefault(avatarUrl) {
   if (!avatarUrl) return '';
   if (avatarUrl.startsWith('http')) return avatarUrl;
-  return `http://localhost:8080${avatarUrl}`;
+  return `http://localhost:5011${avatarUrl}`;
 }
 
 const PostDetailPage = () => {
diff --git a/src/pages/Forum/posts-main/components/PostList.jsx b/src/pages/Forum/posts-main/components/PostList.jsx
index f152c87..5d14fdd 100644
--- a/src/pages/Forum/posts-main/components/PostList.jsx
+++ b/src/pages/Forum/posts-main/components/PostList.jsx
@@ -10,7 +10,7 @@
 const formatImageUrl = (url) => {
   if (!url) return '';
   const filename = url.split('/').pop(); // 提取文件名部分
-  return `http://localhost:8080/uploads/post/${filename}`;
+  return `http://localhost:5011/uploads/post/${filename}`;
 };
 
 const PostList = ({ search }) => {
