`
isiqi
  • 浏览: 16594154 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

对于框架的 pathinfo 的 nginx 配置

阅读更多

ECOS采用pathinfo做资源定位,所以要求$_SERVER环境变量中必须要有PATHINFO或则ORGI_PATHINFO

一般在apache或者iis下都没有什么问题,但是在nginx下需要对配置文件做一些设置才可以

把下面的代码保存为pathinfo.conf文件,存放在nginx的conf目录下

set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "(.+?\.php)(/.+)") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name
;
fastcgi_param SCRIPT_NAME $real_script_name
;
fastcgi_param PATH_INFO $path_info
;

在站点的php引擎调用段的最下面包含这个文件就行了。下面提供一个真实的样例:

主配置文件

server
{
listen
80;
server_name
192.168.6.141;
index index
.html index.htm index.php;
root
/srv/http;
autoindex off
;

location
~ .*\.php
{
include php_fcgi
.conf;
include pathinfo
.conf;
}

location
~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires
30d;
}

location
~ .*\.(js|css)$
{
expires
1h;
}

access_log off
;
location
/nginx_status {
stub_status on
;
access_log off
;

}
}

这个地方有一个地方需要注意,就是对php文件的捕获必须是这样的形式

location ~ .*\.php

以往的

location ~ .*\.php$

形如/index.php/shopadmin/xxxx/yyyy这样的请求将不会进入php fastcgi处理器。

rewrite

如果想把index.php也隐藏掉,可用下面的rewrite规则

location / {
if (!-e $request_filename) {
rewrite
^/(.+\.(html|xml|json|htm|php|jsp|asp|shtml))$ /index.php/$1 last;
}
}

location
~ .*\.php
{
include php_fcgi
.conf;
include pathinfo
.conf;
}

分享到:
评论

相关推荐

    nginx中配置pathinfo模式示例

    在Nginx服务器环境中,配置PathInfo模式是为了支持如PHP框架(例如ThinkPHP)中URL路由的特殊形式,其中URL中的参数部分会跟在.php文件名后面。PathInfo模式允许服务器将这部分信息传递给后端的FastCGI进程,以便...

    在nginx中配置pathinfo模式支持thinkphp的URL重写

    最近一个项目中使用了ThinkPHP做为开发框架,URL上我们使用了PATHINFO模式,但是Nginx默认是不支持PATHINFO的,需要进行手动配置才可以,于是我们按照了以下方法进行了Nginx的PATHINFO支持配置:修改nginx.conf,...

    lnmp环境中如何为nginx开启pathinfo

    在启用PATH_INFO时,为了避免与pathinfo.conf中相关的指令冲突,需要对nginx.conf文件中的try_files指令进行处理。具体操作是将其注释掉,这样Nginx就不会直接尝试提供文件,而是根据配置规则处理请求。 具体操作...

    Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式

    Ubuntu下Nginx配置ThinkPHP的Pathinfo和URL Rewrite模式知识点: 1. Nginx与Ubuntu的关系:Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Ubuntu是一种以Linux为基础的操作系统,通常...

    Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持

    在Nginx服务器环境下,配置pathinfo和ThinkPHP的URL Rewrite模式是运行ThinkPHP框架的关键步骤。这使得URL更加简洁且符合SEO优化,同时也能够更好地处理动态请求。下面将详细介绍如何进行这些配置。 首先,我们需要...

    Nginx隐藏index.php和Pathinfo模式配置例子

    总结来说,这个Nginx配置示例展示了如何在不显示index.php的情况下处理PHP请求,并启用Pathinfo模式。在实际应用中,根据服务器的具体情况,可能需要进行一些调整,例如更改监听端口、服务器名称、文档根目录等。...

    Nginx配置PATHINFO隐藏thinkphp index.php

    在Nginx中配置PATHINFO隐藏`index.php`,主要是通过调整Nginx的配置文件来实现。下面我们将详细讲解如何进行这项配置。 首先,我们需要在Nginx的配置文件(通常位于`/etc/nginx/nginx.conf`或`/etc/nginx/sites-...

    Nginx配置支持ThinkPHP的PATH_INFO

    Nginx配置支持ThinkPHP的PATH_INFO的知识点可以分为以下几个部分: 1. PATH_INFO的介绍: PATH_INFO是指在URL中,位于应用程序可执行脚本名称之后的路径信息。在许多PHP框架中,如ThinkPHP,PATH_INFO被用作一种...

    thinkphp在低版本Nginx 下支持PATHINFO的方法分享

    总之,通过在Nginx配置文件中添加适当的rewrite规则,即使在低版本的Nginx环境下,也能成功启用ThinkPHP的PATHINFO模式,从而确保URL路由的正常工作。这是一个对开发者非常重要的步骤,因为它允许应用程序保持优雅的...

    Yii2配置Nginx伪静态的方法

    首先,我们来看Nginx配置的基本结构。在Nginx的配置文件中,通常有一个或多个`server`块,每个`server`块代表一个域名或IP地址的监听配置。下面是一个基本的Yii2项目配置示例: ```nginx server { charset utf-8; ...

    让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享

    标题中的“让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享”是指在使用Nginx作为Web服务器时,如何配置Nginx以适应ThinkPHP框架的URL重写规则和PATHINFO模式。ThinkPHP是一款流行的PHP开发框架,它的URL重写功能...

    nginx支持codeigniter的pathinfo模式url重写配置写法示例

    总的来说,正确配置Nginx以支持CodeIgniter的Path Info模式,需要理解URL路由的工作原理,以及如何在Nginx配置文件中处理这些路由。通过设置正确的PHP环境变量和使用rewrites,我们可以确保CodeIgniter能够正确地...

    详解Nginx配置多站点需要踩的坑

    首先,配置Nginx支持Pathinfo模式是为了更好地处理PHP请求,尤其是在使用像Yii、ThinkPHP等依赖Pathinfo模式的PHP框架时。Pathinfo模式允许在URL中保留PHP脚本名,如`example.com/index.php/controller/action`。要...

    nginx+thinkphp下解决不支持pathinfo模式

    在Nginx配置中,解决PATHINFO模式不支持的关键在于正确配置`location`指令。通常,Nginx默认可能无法识别这种模式,因为它依赖于`fastcgi_params`中的设置。以下是一份示例配置: ```nginx location / { root /...

    Nginx配置PHP的Yii与CakePHP框架的rewrite规则示例

    **Yii框架的Nginx配置** Yii框架的Nginx配置主要关注URL重写和PHP处理。以下是一个基本的示例: ```nginx server { set $host_path "/data/site/www.jb51.net"; access_log /data/logs/nginx/...

    Nginx下实现pathinfo及ThinkPHP的URL模式

    在Nginx服务器环境下,实现PathInfo以及ThinkPHP框架的URL模式配置是一项常见的任务,它涉及到Web服务器如何处理带有额外路径信息的PHP脚本请求。PathInfo是指在PHP脚本名之后追加的额外路径信息,例如`example....

Global site tag (gtag.js) - Google Analytics