Это зависит от того, как вы генерируете контент.
Несколько методов, которые приходят на ум:
- получение имени пользователя из URL в node.js
- с использованием перезаписей на хостинге Firebase
Метод 1:
Если вы используете какой-либо вид серверной визуализации, вы можете просто получить имя пользователя из URL-адреса и динамически обслуживать контент. Экспресс пример:
app.get('/user/:username', function(req , res){
res.send("This is the profile for: " + req.params.username);
});
Метод 2:
Если вы предоставляете один и тот же HTML-файл для каждого пользователя и заполняете его пользовательскими данными на клиенте, вы можете использовать перезаписи в конфигурации хостинга Firebase:
{
"hosting": {
"rewrites": [
{
"source": "/user/*",
"destination": "/user/index.html"
}
]
}
}
Это переписывает domain.com/user/username/
в domain.com/user/index.html
.
Примечание: не переписывает domain.com/user/username/otherpage/
. Для этого вам нужно будет добавить переписать:
{
"source": "/user/*/otherpage/",
"destination": "/path/to/otherpage/"
}
Примечание. Если вы используете этот метод, обратите внимание на 404 ошибки, если вы ссылаетесь на ресурсы, используя относительные пути. Например, представьте, что это HTML-файл в / user /:
<!-- inside of /user/index.html -->
<script src="javascript.js"></script>
Этот путь будет /users/username/javascript.js
и может возвращать index.html, что является проблемой. Чтобы исправить это, используйте абсолютный путь:
<!-- inside of /user/index.html -->
<script src="/user/javascript.js"></script>