很多站长朋友们都不太清楚nginx伪静态php,今天小编就来给大家整理nginx伪静态php,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 Nginx伪静态php设置方法 2、 如何配置nginx伪静态以支持ThinkPHP的PATHINFO模式 3、 Nginx 伪静态简单配置 Nginx伪静态php设置方法修改/etc/nginx/nginx.conf,tae的话可能在conf.d里边的virtual.conf,在server里边添加伪静态规则
location?/?{
????????index??index.php?index.html?index.htm;
????????rewrite?^(.*)/item/([0-9]+)\.html?$1/item.php?id=$2?last;
????}
大概是这样,规则要自己测试
如何配置nginx伪静态以支持ThinkPHP的PATHINFO模式首先你的项目的config文件中要配置这一项
'URL_MODEL'
=>
2,
//
rewrite
在服务器中切换到nginx的安装目录,我这里是
/usr/local/nginx。然后添加thinkphp.conf
文件
vim
/usr/local/nginx/conf/thinkphp.conf
内容如下
location
/
{
if
(!-e
$request_filename){
rewrite
^/(.*)$
/index.php?s=/$1
last;
}
}
然后在你的配置文件中include一下刚刚的配置文件。
如果你的ThinkPHP入口文件index.php不在根目录,则需要把thinkphp.conf改成这样
location
/入口文件所在目录/
{
if
(!-e
$request_filename){
rewrite
^/abc/(.*)$
/abc/index.php?s=/$1
last;
}
}
Nginx 伪静态简单配置通常,我们在美化或者希望能更好的兼容搜索引擎的时候我们常常使用nginx的rewrite模块来实现,例如:我们希望原本的访问链接xxxx测试数据/xx/xx/xx.php?id=12,变成这种:xxx测试数据/xx/xx/12.html;又或者是原本的访问链接太长,我们希望能够简洁一点等等吧,下面我将针对这两种情况来做配置。
(1) 页面伪静态
将xxxx测试数据/xx/xx/xx.php?id=12这种访问链接变成xxx测试数据/xx/xx/12.html这种
下面笔者在本地的网站目录下创建一个test.php文件
原本的访问链接: ,我们访问看下:
需要注意的是:rewrite 完后不能写break,否则php文件无法解析。
我们使用链接: 来访问下,
解析php的那段避免累赘,这里就不再写上了。
我们访问看下:
(2) 简化访问路径
使用过tp的或者其他一些类型的php框架小伙伴们我们在访问方法时需要这样访问: ,这个表示访问index模块的index控制器中的info方法,但是这么访问不太方便,我们希望去掉index.php,直接使用 访问,那我们就需要配置下nginx,做一个rewrite.
这段配置的意思是:当访问的文件或者目录不存在时,重定向到某个php文件.
!-e 意思是:-e和!-e用来判断是否存在文件或目录。
last: 相当于apache里面的[L]标记,表示rewrite.
s:表示参数.
加上配置后我们再来访问下:
发现可以正常访问了。需要注意的是:如果不写s=xxx,配置会不生效。
好了,本篇文章就到这里了,有需要补充的小伙伴欢迎在下面给我留言哦,看到会及时回复的。
关于nginx伪静态php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于nginx伪静态php nginx伪静态规则写法的详细内容...