diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java
index 3b70a410bac6f35e628198846c307a8f0122fcbf..66cbe8aeb08511faa76f3dfe92c8643a721c9cfd 100644
--- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java
+++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java
@@ -95,11 +95,13 @@ public class NamespaceController {
//add app org id as prefix
App app = appService.load(appId);
- if (appNamespace.formatAsEnum() == ConfigFileFormat.Properties) {
- appNamespace.setName(String.format("%s.%s", app.getOrgId(), appNamespace.getName()));
- } else {
- appNamespace.setName(String.format("%s.%s.%s", app.getOrgId(), appNamespace.getName(), appNamespace.getFormat()));
- }
+ StringBuilder appNamespaceName = new StringBuilder();
+ //add prefix postfix
+ appNamespaceName
+ .append(appNamespace.isPublic() ? app.getOrgId() + "." : "")
+ .append(appNamespace.getName())
+ .append(appNamespace.formatAsEnum() == ConfigFileFormat.Properties ? "" : "." + appNamespace.getFormat());
+ appNamespace.setName(appNamespaceName.toString());
String operator = userInfoHolder.getUser().getUserId();
if (StringUtils.isEmpty(appNamespace.getDataChangeCreatedBy())) {
diff --git a/apollo-portal/src/main/resources/static/namespace.html b/apollo-portal/src/main/resources/static/namespace.html
index 2a4efeb2700484b8f296b2af7a746943a89dac10..2ed2472463dc1374659de90499cafa298e8f1bd4 100644
--- a/apollo-portal/src/main/resources/static/namespace.html
+++ b/apollo-portal/src/main/resources/static/namespace.html
@@ -63,11 +63,15 @@