nginx中path模式配置示例
nginx服务器默认是不支持pathinfo模式的,即类似index.php/index形式的url会提示404。在这里,需要对nginx配置文件中需要开启pathinfo模式的server予以修改配置,修改nginx.conf文件如下:
server{
server_name blog.com;
listen 80;
root /home/wwwroot/blog;
index index.phpindex.htmlindex.htm;
access_log /data/log/blog.access.log;
error_log /data/log/blog.error.log;
location/{
indexindex.php;
if(!-e$request_filename){
rewrite^/(.*)$ /index.php/$1 last;
break;
}
}
location~\.php{
#fastcgi_pass 127.0.0.1:9000;
fastcgi_passunix:/dev/shm/php-cgi.sock;
fastcgi_indexindex.php;
#fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
include fastcgi.conf;
include fcgi_pathinfo.conf;
set $real_script_name$fastcgi_script_name;
if($fastcgi_script_name~"^(.+?\.php)(/.+)$"){
set$real_script_name$1;
set$path_info $2;
}
fastcgi_paramSCRIPT_FILENAME$document_root$real_script_name;
fastcgi_paramSCRIPT_NAME$real_script_name;
fastcgi_paramPATH_INFO$path_info;
}
location~.*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)${
expires30d;
}
location~.*\.(js|css)?${
expires7d;
}
error_page404 /404.html;
error_page 500502503504 /50x.html;
location=/50x.html{
root/home/wwwroot/;
}
}
并添加fcgi_pathinfo.conf如下:
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $httpsif_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REDIRECT_STATUS 200;
重要的就是,~\.php后面不能有$,以便能够匹配所有*.php/*形式的url,并且if与后面的括号之间必须有一个空格。
完毕之后,重启nginx。
相关文章
- 从零开始配置 vim(18)——终端模式
- win7、win10系统JDK环境变量配置
- ZooKeeper入门(二):ZooKeeper常用命令介绍及使用Curator客户端实现分布式配置中心
- centos 7.0双网卡主备和负载均衡模式配置(bond0)
- Crontab定时任务配置
- OV7725寄存器配置_i2c总线通信距离
- Docusaurus配置Gitalk评论插件
- 比你更懂你的自动配置
- 【Cisco Packet Tracer| 一.交换机配置模式与基本参数配置】
- [PHP] apache在worker模式配置fastcgi使用php-fpm详解编程语言
- 配置Linux下删除Nginx配置的步骤(linux删除nginx)
- 轻松学习:如何在Linux上配置二级域名(linux配置二级域名)
- 配置Linux下IP地址配置:快速简便的路径(linux下ip地址)
- Redis集群模式构建高效可靠的分布式系统(redis集群模式下配置)
- Redis中持久化配置的实现方式(redis配置持久模式)
- 借助Redis实现主从复制配置(redis配置主从机器)
- 如何快速配置Redis主从模式(redis配置主从机器)
- 使用Redis精准调优,极致体验性能飞跃(redis配置性能优化)
- php中安全模式safe_mode配置教程
- linux(centos5.5)/windows下nginx开启phpinfo模式功能的配置方法分享
- ubuntu10.04配置nginx+php-fpm模式的详解