分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

记录 nginx和php安装完后的URL重写,访问空白和隐藏index.php文件的操作方法

发布时间:2023-09-06 01:17责任编辑:林大明关键词:nginx
1 sudo cd /etc/nginx/;2 sudo vi fastcgi_params;

1.URL重写

如果你的url参数不是用?xxx传递,而是自定义的,比如用/xx/xx/xx的方式传递,那么在nginx下就要开启pathinfo

典型配置:

1 location ~ \.php$ {2 ????root ??????????html;3 ????fastcgi_pass ??127.0.0.1:9000;4 ????fastcgi_index ?index.php;5 ????fastcgi_param ?SCRIPT_FILENAME ?$DOCUMENT_ROOT$fastcgi_script_name;6 ????include ???????fastcgi_params;7 }

修改1,6两行,支持pathinfo

1 location ~ \.php(.*)$ { # 正则匹配.php后的pathinfo部分2 ????root html;3 ????fastcgi_pass ??127.0.0.1:9000;4 ????fastcgi_index ?index.php;5 ????fastcgi_param ?SCRIPT_FILENAME ?$DOCUMENT_ROOT$fastcgi_script_name;6 ????fastcgi_param PATH_INFO $1; # 把pathinfo部分赋给PATH_INFO变量7 ????include ???????fastcgi_params;8 }

2.当URL重写后,比如访问xxx/index.php/xxx/xxx 会空白,而用?方式访问则正常

  a.修改fastcgi_params文件

sudo cd /etc/nginx/;sudo vi fastcgi_params;

配置文件内容:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #这行没有就添加,有了就改成这样子

  b.修改nginx配置文件

  

location ~ .php$ { ???????????root ??????????html; ???????????fastcgi_pass ??127.0.0.1:9000; ???????????fastcgi_index ?index.php; ???????????fastcgi_param ?SCRIPT_FILENAME $document_root$fastcgi_script_name; # 新增

       include fastcgi_params; # 新增
}

3.隐藏入口文件

  a.如果代码就在域名指向的根目录下,则

location / { // …..省略部分代码 ??if (!-e $request_filename) { ??rewrite ?^(.*)$ ?/index.php?s=$1 ?last; ??break; ???}}

  b.如果代码在域名指向的下级目录下,则

  

 ??#youdomain 是所在目录的名称。比如域名根目录为/var/www/html ?代码所在目录为/var/www/html/wave/project,则此处youdomain均替换为wave/projetc
  location /youdomain/ { ???????if (!-e $request_filename){ ???????????rewrite ?^/youdomain/(.*)$ ?/youdomain/index.php?s=$1 ?last; ???????} ???}

  ===

记录 nginx和php安装完后的URL重写,访问空白和隐藏index.php文件的操作方法

原文地址:http://www.cnblogs.com/taotaoxixihaha/p/7668368.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved