设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 96|回复: 13

发现了一个目录列表,想请问一下如何去除url中的“?dir=“

[复制链接]

3

主题

32

回帖

101

积分

注册会员

积分
101
发表于 2020-6-27 18:19:51 | 显示全部楼层 |阅读模式
本帖最后由 HEAR 于 2020-6-27 21:39 编辑

这是目录列表的demo
https://demo.directorylister.com/

下载地址:https://www.directorylister.com/

点开目录后有
如:https://demo.directorylister.com/
?dir=
tests/Bootstrap
网上很多版本都是基于老版本修改去掉?dir=,没有这个版本好看。
想问下如何修改能够去掉?dir=


已解决,感谢yjsx86大佬的指导。
不知是否有人需要,修改版下载链接:https://pan.lanzous.com/iN0oMe3apbi

回复

使用道具 举报

31

主题

124

回帖

355

积分

中级会员

积分
355
发表于 2020-6-27 18:20:16 | 显示全部楼层
看不懂

回复

使用道具 举报

7

主题

81

回帖

227

积分

中级会员

积分
227
发表于 2020-6-27 18:22:57 | 显示全部楼层
不知道伪静态是否可以

回复

使用道具 举报

11

主题

874

回帖

1817

积分

金牌会员

积分
1817
发表于 2020-6-27 18:28:36 | 显示全部楼层
伪静态,同时需要程序支持
回复

使用道具 举报

3

主题

32

回帖

101

积分

注册会员

积分
101
 楼主| 发表于 2020-6-27 18:29:23 | 显示全部楼层

鞠婧祎 发表于 2020-6-27 18:22

不知道伪静态是否可以

location / {
rewrite /(.*)/$ /index.php?dir=$1 last;
}

尝试了一下,看样子不行,还需要修改程序
回复

使用道具 举报

3

主题

32

回帖

101

积分

注册会员

积分
101
 楼主| 发表于 2020-6-27 18:36:58 | 显示全部楼层

iks 发表于 2020-6-27 18:29

伪静态,同时需要程序支持

嗯,尝试了一下不行,看样子需要修改程序
回复

使用道具 举报

60

主题

894

回帖

2004

积分

金牌会员

积分
2004
发表于 2020-6-27 18:22:00 | 显示全部楼层
伪静态的作用就是这个
回复

使用道具 举报

3

主题

32

回帖

101

积分

注册会员

积分
101
 楼主| 发表于 2020-6-27 18:40:02 | 显示全部楼层

iiii.im 发表于 2020-6-27 18:57

伪静态的作用就是这个

啊 单纯伪静态没用 也可能是我写错了
location / {
rewrite /(.*)/$ /index.php?dir=$1 last;
}
回复

使用道具 举报

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2020-6-27 18:29:00 | 显示全部楼层
首先人家没有index.php,你给百度一个加上,误导论坛大佬,

location / {
rewrite ^/(.*)/$ /?dir=$1 break;
}
ABCHINA 发表于 2020-6-27 19:19

首先人家没有index.php,你给百度一个加上,误导论坛大佬,

location / {

index.php加不加都能正常访问哦
例如https://demo.directorylister.com/index.php?dir=node_modules/axios
单纯伪静态估计解决不了。
伪静态之后例如
就不能正常加载
修改为又出现各种其它问题。

谢谢你的耐心回答。
回复

使用道具 举报

212

主题

1240

回帖

3246

积分

论坛元老

积分
3246
发表于 2020-6-27 18:57:07 | 显示全部楼层
我的主要语言是 golang 和 python
php以前学过 看了下源码

单纯去除 ?dir= 可以在 app/src/ViewFunctions/FileUrl.php
[ol]
  •     public function __invoke(string $path = '/'): string
  •     {
  •         $path = $this->stripLeadingSlashes($path);
  •         if (is_file($path)) {
  •             return $this->escape($path);
  •         }
  •         if ($path === '') {
  •             return '';
  •         }
  •         return sprintf('?dir=%s', $this->escape($path));
  •     }[/ol]复制代码

    上面的修改为:
    [ol]
  •     public function __invoke(string $path = '/'): string
  •     {
  •         $path = $this->stripLeadingSlashes($path);
  •         // if (is_file($path)) {
  •         //     return $this->escape($path);
  •         // }
  •         if ($path === '') {
  •             return '';
  •         }
  •         return $this->escape($path);
  •     }[/ol]复制代码

    由于本机没有趁手的php工具 不能debug
    你会发现url是变了 但是程序出错
    所以你还需要找到 源程序之前是怎么处理 ?dir=??? 的再进行修改

  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2026-1-12 17:25 , Processed in 0.016713 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表