可以通过URL重写隐藏应用的入口文件`index.php`,下面是相关服务器的配置参考:
## \[ Apache \]
1. httpd.conf配置文件中加载了mod\_rewrite.so模块
2. AllowOverride None 将None改为 All
3. 把下面的内容保存为`.htaccess`文件放到应用入口文件的同级目录下
4. 完毕之后,重启apache
ps:系统已自带`.htaccess`文件
~~~
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
~~~
如果此代码不行
```
~~~
原代码:
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
修改后:
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
或
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
~~~
```
## \[ 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;
break;
}
}
```
![](images/QQ截图20190527124355.jpg)
> 其实内部是转发到了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' ];
> ~~~
- 序言
- 环境搭建
- 目录结构
- 系统配置
- 系统函数&类
- thumb(函数)
- fun(函数)
- get_file_path(函数)
- email(类)
- 插件使用说明
- cms插件
- 变量/常量
- 函数
- 标签
- 公共参数
- 栏目标签
- 列表标签
- 内容详情页
- 上一页标签
- 下一页标签
- Tags标签
- 万能标签
- 原生标签
- 模板
- 使用技巧
- 阅读收费
- 会员插件
- 常见问题
- 表单插件
- 调用方式
- 模板
- 短信插件
- 友情链接插件
- 标签
- 常见问题
- URL重写
- 如果设置插件为首页默认打开
- 百度编辑器多图片上传被压缩
- 各类服务器使用注意事项
- 部分虚拟机隐藏index.php有问题
- composer
- composer简介
- 内置composer
- 各大厂商镜像地址
- 常用命令