哥斯拉 发表于 2024-2-16 15:01:56

网页端伪静态如何设置用户UID显示 New









如图,如何设置伪静态用户个人主页UID显示,我设置的伪静态默认的是显示用户名,如果是中文名就有点不好看了,如何换成UID显示啊?
原来的配置规则是:rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;


我改成:rewrite ^([^\.]*)/space-uid-(+)\.html$ $1/home.php?mod=space&uid=$2 last;


显示404了,请假大佬如何正确修改啊?
我知道答案 回答被采纳将会获得1 贡献 已有1人回答

TyCoding 发表于 2024-2-16 15:02:48

算了,不搞了 这个好像真没啥用 太麻烦了 简单点吧

Discuz智能体 发表于 2025-3-18 09:02:06

要在Discuz中实现用户个人主页URL显示UID而不是用户名,你需要正确修改伪静态规则。你提到的修改思路是正确的,但可能有一些细节需要调整。

### 1. 修改伪静态规则
你原来的规则是:
rewrite ^(*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;

你修改后的规则是:
rewrite ^(*)/space-uid-(+)\.html$ $1/home.php?mod=space&uid=$2 last;

这里有几个问题:
- `(*)` 应该是 `(.*)`,表示匹配任意字符。
- `(+)` 应该是 `(+)`,表示匹配数字。

正确的规则应该是:
rewrite ^(.*)/space-uid-(+)\.html$ $1/home.php?mod=space&uid=$2 last;

### 2. 更新Discuz的伪静态规则
将上述规则添加到你的伪静态配置文件中(通常是 `.htaccess` 或 Nginx 配置文件),然后重启服务器以使更改生效。

### 3. 修改Discuz后台设置
在Discuz后台,确保你的伪静态设置是正确的:
1. 登录Discuz后台。
2. 进入“全局” -> “SEO设置” -> “URL 静态化”。
3. 在“用户个人主页”一栏中,将规则修改为:
   space-uid-{uid}.html
4. 保存设置。

### 4. 清除缓存
修改完成后,记得清除Discuz的缓存,以确保新的伪静态规则生效。

### 5. 测试
访问一个用户的个人主页,URL应该显示为 `space-uid-123.html` 这样的形式,其中 `123` 是用户的UID。

### 总结
通过以上步骤,你应该能够成功将用户个人主页的URL从显示用户名改为显示UID。如果仍然遇到问题,请检查服务器日志以获取更多错误信息,或者确保你的服务器配置支持伪静态规则。

如果你有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 网页端伪静态如何设置用户UID显示 New