可以通过URL重写隐藏应用的入口文件`index.php`,下面是相关服务器的配置参考:
## [ Apache ]
> 把下面的内容保存为`.htaccess`文件放到应用`入口文件index.php的同级目录`下(系统已自带`.htaccess`文件,此步骤可跳过)
~~~
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>
~~~
> 如果以上代码不行,主要是Apache有多种运行模式,以上代码不一定可以
> 所以需要修改里面的一句代码,如下:
```
~~~
原代码:
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
修改后:
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
~~~
```
*****
## [ IIS ]
如果你的服务器环境支持ISAPI\_Rewrite的话,可以配置`httpd.ini`文件,添加下面的内容:
~~~
RewriteRule (.*)$ /index\.php\?s=$1 [I]
~~~
在IIS的高版本下面可以配置`web.Config`,在中间添加rewrite节点:
~~~
<rewrite>
<rules>
<rule name="OrgPage" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>
~~~
*****
## [ Nginx ]
在Nginx低版本中,是不支持PATHINFO的,但是可以通过在`Nginx.conf`中配置转发规则实现:
~~~
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
~~~
![![](images/QQ截图20190527124355.jpg)](images/screenshot_1723613904426.png)
> 其实内部是转发到了ThinkPHP提供的兼容URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境。
如果你的应用安装在二级目录,`Nginx`的伪静态方法设置如下,其中`youdomain`是所在的目录名称。
```
location /youdomain/ {
if (!-e $request_filename){
rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=/$1 last;
}
}
```
原来的访问URL:
~~~
http://serverName/index.php/模块/控制器/操作/[参数名/参数值...]
~~~
设置后,我们可以采用下面的方式访问:
~~~
http://serverName/模块/控制器/操作/[参数名/参数值...]
~~~
> 如果你没有修改服务器的权限,可以在`index.php`入口文件做修改,这不是正确的做法,并且不一定成功,视服务器而定,只是在框架执行前补全`$_SERVER['PATH_INFO']`参数。
>
> ~~~
> $_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI' ];
> ~~~
*****
## [ 宝塔面板 ]
![](https://img.kancloud.cn/93/91/9391c90905fa05ed3be7c61a7926521f_777x634.png)
- 与1.4版本差异说明
- 序言
- 使用条款
- 安装
- 环境搭建
- 事件
- 表单生成
- 数据限制
- 命令行
- 一键生成CRUD
- 一键生成菜单
- 一键安装
- 一键压缩打包
- 系统配置
- 常规字段
- 特殊字段1:高级下拉框[selectpage]
- 特殊字段2:自定义字段
- 特殊字段3:自定义多图片
- 邮箱/短信类
- 前端&组件
- 后台前端框架
- 文件上传
- table数据表格
- auth权限验证
- 动态显示(Favisible)
- 动态下拉(SelectPage)
- 键值组件(Fieldlist)
- 标签输入
- uniapp教程
- 🔥插件使用说明
- cms内容管理【cms】
- 变量/常量
- 函数
- getCategory - 栏目获取
- catpos - 面包屑
- seo - 生成SEO
- buildCatUrl - 生成栏目URL
- buildContentUrl - 创建内容链接
- 标签
- 公共参数
- 栏目标签
- 列表标签
- 上一页标签
- 下一页标签
- Tags标签
- 万能标签
- 原生标签
- 搜索页
- 筛选页
- 内容详情页
- 模板
- 技巧/问题
- 敏感词检测
- 栏目授权不全
- 循环表格
- 部分虚拟主机tags页面报错
- 内容页分页
- 分页伪静态
- 实现电脑和手机模板分离
- 阅读收费
- 友情链接【links】
- 自定义表单【formguide】
- 调用方式
- 支付插件【pay】
- 支付宝
- 微信
- 万能采集【collection】
- 采集列表规则
- 采集内容规则
- 关于图片
- H5设计【diywap】
- 接口文档【apidoc】
- 返回顶部【returntop】
- 通用数据导出【dataoutput】
- 通用数据导入【dataimport】
- 多通道短信【easysms】
- 塞邮邮箱【saiyouems】
- 第三方登录【synclogin】
- 中文分词【getwords】
- QQ客服【kefu】
- 地图位置【address】
- 智能人机验证【vaptcha】
- 数据转换【v9toyzn】
- 数据转换【dedetoyzn】
- 百度收录查询【baidurecord】
- 蜘蛛访问统计【spider】
- editormd编辑器【editormd】
- Easymde编辑器【easymde】
- 百度ueditor插件【ueditor】
- 敏感词检测【sensitive】
- 邮箱发送【phpmailer】
- 内容收藏【favorite】
- 队列插件【queue】
- 七牛云【qiniu】
- 阿里云oss【alioss】
- 腾讯云【cos】
- 迅搜全文检索【xunsearch】
- 评论插件【comments】
- 会员邀请【invite】
- 快递查询插件【expressquery】
- 礼品卡提货系统【pickup】
- 地区插件【area】
- IP归属地查询【ipregion】
- 百度统计插件【baidutongji】
- 消息通知【notice】
- 微信管理【wechat】
- 在线投票系统【vote】
- 图片处理【imgproc】
- 后台登录主题【adminlogin】
- 文档管理系统【docs】
- 频率限制【throttle】
- 2FA双因子验证【twofas】
- 🔥开发者入驻
- 申请入驻
- 建立私库
- 插件入驻流程
- 模板入驻流程
- 🔥插件开发
- 目录结构
- 数据库
- 测试数据
- 插件信息
- 插件配置
- 核心文件
- 插件函数
- 常见问题
- YznCMS开发遇到错误怎么办?(新手必看)
- 开启调试模式
- 伪静态(URL重写)
- 如何去除访问链接中的index.php
- 各类虚拟主机伪静态使用注意事项
- 如何自定义404页面显示模板
- 管理员登录时提示请于1天后再尝试登录
- 宝塔面板一键部署
- 后台登录时验证码不显示
- 后台密码忘记重置方法
- 关于编辑器的一些说明
- 如何重置后台登录地址
- 如何修改或禁用左侧菜单栏的角标
- composer
- composer简介
- 内置composer
- 常用命令
- 安全建议
- 更新日记和补丁包