本文目录一览:
Nginx 伪静态简单配置
通常,我们在美化或者希望能更好的兼容搜索引擎的时候我们常常使用nginx的rewrite模块来实现,例如:我们希望原本的访问链接xxxx.com/xx/xx/xx.php?id=12,变成这种:xxx.com/xx/xx/12.html;又或者是原本的访问链接太长,我们希望能够简洁一点等等吧,下面我将针对这两种情况来做配置。
(1) 页面伪静态
将xxxx.com/xx/xx/xx.php?id=12这种访问链接变成xxx.com/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,配置会不生效。
好了,本篇文章就到这里了,有需要补充的小伙伴欢迎在下面给我留言哦,看到会及时回复的。
ask2的问答系统在nginx下怎么设置伪静态?
1、打开nginx的配置文件config文件
2、复制这段代码
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?$1;
}
3、
4、修改完成后重启niginx即可。
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;
}
大概是这样,规则要自己测试