配置伪静态前
需要请求url:http://think5.com/index.php/index/index/test
,来访问tp5框架下的index模块的index控制器的test方法,但是如果想要去掉url中的index.php,可以这样配置伪静态:
location / {
# 此时$request_filename=index/index/test
#当访问的文件和目录($request_filename)不存在时,进入if代码块
if (!-e $request_filename){
# 重定向到location/index.php?s=正则表达式中第一个()内的值
# $1=index/index/test
rewrite ^(.*)$ /index.php?s=/$1 #重写url变成了/index.php?s=/index/index/test
# 停止处理后续rewrite指令集,并对重写后的新url重新发起请求
last;
# 中止Rewirte,不在继续匹配。
break;
}
}
配置完后重启nginx,之后就可以请求url:http://think5.com/index/index/test
,来访问index控制器中的test方法了。
对了,有些博客写的是/index.php?s=/$1
,有些写的是/index.php?s=$1
,我试了一下两个都可以,但是还没找到原因。