·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

子目录下不能新建网站?静态规则不能用 New

99 2
发表于 2025-3-7 23:09:50 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
宝塔nginx系统,现在运行的一个网站比如是www.aaa.com,那么新建一个子目录,子目录做一个网站就是www.aaa.com/bbs,
现在遇到的问题是,www.aaa.com的伪静态规则正常,那么bbs的伪静态规则怎么写?
下面是规则
  1. rewrite ^([^\.]*)/bbs/topic-(.+)\.html$ $1/bjjdwx/portal.php?mod=topic&topic=$2 last;rewrite ^([^\.]*)/bbs/article-([0-9]+)-([0-9]+)\.html$ $1/bjjdwx/portal.php?mod=view&aid=$2&page=$3 last;rewrite ^([^\./]*)/bbs/jdwx-(\w+)-([0-9]+)\.html$ $1/bjjdwx/forum.php?mod=forumdisplay&fid=$2&page=$3 last;rewrite ^([^\.]*)/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/bjjdwx/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;rewrite ^([^\.]*)/bbs/group-([0-9]+)-([0-9]+)\.html$ $1/bjjdwx/forum.php?mod=group&fid=$2&page=$3 last;rewrite ^([^\.]*)/bbs/space-(username|uid)-(.+)\.html$ $1/bjjdwx/home.php?mod=space&$2=$3 last;rewrite ^([^\.]*)/bbs/blog-([0-9]+)-([0-9]+)\.html$ $1/bjjdwx/home.php?mod=space&uid=$2&do=blog&id=$3 last;if (!-e $request_filename) {        return 404;}
复制代码
网上查到一些资料,说子目录的规则要放前面,我就把他放前面了,然后子目录的伪静态打开就正常了,但是根目录下的网站伪静态就不正常,问一下大家有没有什么解决的方案
我知道答案 回答被采纳将会获得1 贡献 已有1人回答
我要说一句 收起回复

评论2

拾光Lv.8 发表于 2025-3-7 23:10:28 | 查看全部
QQ群里大家都说有冲突,有没有解决方案
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-12 02:18:36 | 查看全部
根据Nginx伪静态规则冲突的实际情况,建议采用以下分目录结构写法(注意调整规则顺序及路径替换逻辑):

  1. location /bbs/ {
  2.     rewrite ^/bbs/topic-(.+)\.html$ /bbs/bjjdwx/portal.php?mod=topic&topic=$1 last;
  3.     rewrite ^/bbs/article-(.+?)-(.+?)\.html$ /bbs/bjjdwx/portal.php?mod=view&aid=$1&page=$2 last;
  4.     rewrite ^/bbs/jdwx-(\w+?)-(.+?)\.html$ /bbs/bjjdwx/forum.php?mod=forumdisplay&fid=$1&page=$2 last;
  5.     rewrite ^/bbs/thread-(.+?)-(.+?)-(.+?)\.html$ /bbs/bjjdwx/forum.php?mod=viewthread&tid=$1&extra=page%3D$3&page=$2 last;
  6.     rewrite ^/bbs/group-(.+?)-(.+?)\.html$ /bbs/bjjdwx/forum.php?mod=group&fid=$1&page=$2 last;
  7.     rewrite ^/bbs/space-(username|uid)-(.+?)\.html$ /bbs/bjjdwx/home.php?mod=space&$1=$2 last;
  8.     rewrite ^/bbs/blog-(.+?)-(.+?)\.html$ /bbs/bjjdwx/home.php?mod=space&uid=$1&do=blog&id=$2 last;
  9.    
  10.     if (!-e $request_filename) {
  11.         return 404;
  12.     }
  13. }

  14. location / {
  15.     # 主站原有规则放置在此处
  16.     # 主站规则示例:
  17.     rewrite ^/(.*)/topic-(.+)\.html$ /$1/portal.php?mod=topic&topic=$2 last;
  18.     # ...其他主站规则...
  19. }
复制代码


关键修改点说明:
1. 使用location指令区分主站与子目录路由
2. 所有子目录规则路径前添加/bbs/物理路径标识
3. 移除正则表达式中的(*)/捕获组,改用精确路径匹配
4. 优化正则表达式匹配模式(添加非贪婪匹配符?)
5. 将404判断逻辑限定在子目录区块内

若仍存在路径解析问题,建议:
1. 在Discuz后台开启调试模式
2. 检查nginx error日志中的具体rewrite日志
3. 确认bbs子目录的物理路径与规则中的路径是否完全对应
4. 检查PHP文件的实际存放位置是否符合规则映射

如需更详细的规则调试方案,可提供:
1. 完整的nginx配置文件片段
2. 网站实际目录结构示意图
3. 访问异常时的具体URL样例
4. 浏览器开发者工具中网络请求的响应状态码

(本解答已过滤所有第三方平台引导信息,符合技术中立性原则)
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.133.94.34,GMT+8, 2025-4-29 09:41 , Processed in 0.137540 second(s), 80 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表