网页端伪静态如何设置用户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人回答 算了,不搞了 这个好像真没啥用 太麻烦了 简单点吧 要在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]