douer9399 2014-04-11 19:09
浏览 362
已采纳

nginx和codeigniter“传递uri”不起作用

I've a small Codeigniter project and passing uri (localhost/project/index.php/Cfoo/funct/param) doesn't work (404). The php-code is OK, because with lighttpd works.

My nginx config:

user  www www;
worker_processes 1;
worker_priority 15;

pid /var/run/nginx.pid;

events {
  worker_connections  512;
  accept_mutex on;
  use kqueue;
}

http {
    include       conf.d/options;
    include       mime.types;
    default_type  application/octet-stream;

    server {

        server_name localhost;
        index index.php index.html index.htm ;

        add_header  Cache-Control "public";
        add_header  X-Frame-Options "DENY";
        limit_req   zone=gulag burst=200 nodelay;
        expires     max;
        listen 80;

        root /usr/local/www;

        location ~ ^/~([^/]+)/(.+\.php)$ {
            if (!-f /home/$1/public_html/$2) {
                rewrite ^ 404;
            }
            alias /home/$1/public_html/$2;
            fastcgi_pass unix:/var/run/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            include fastcgi_params;
        }
        location ~ ^/~(.+?)(/.*)?$ {
            alias /home/$1/public_html$2;
            index  index.html index.htm index.php;
            autoindex on;
        }


        location /adminer {
            index adminer/index.php;
        }


        location / {
            try_files $uri $uri/ /index.php;
        }

        index index.php index.html index.htm ;

        location ~ \.php$ { include conf.d/php-fpm; }
        location = /favicon.ico { return 204; }
        location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ { deny all; }
        location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
        }
    }
}

EDIT A server section:

    server {
        server_name orarend;
        root /home/zsolt/public_html/orarend_oo/;
        index index.php;
        add_header  Cache-Control "public";
        add_header  X-Frame-Options "DENY";
        limit_req   zone=gulag burst=200 nodelay;
        expires     max;
        location / {
            try_files $uri $uri/ /index.php$request_uri$is_args$query_string;
            autoindex on;
            fastcgi_pass unix:/var/run/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            include fastcgi_params;
        }
        location ~ \.php$ { include conf.d/php-fpm; }
    }
  • 写回答

1条回答 默认 最新

  • doutang0335 2014-04-11 21:15
    关注

    This would work, and you won't need to put index.php in the url

    Replace User with your actual user's home

    server {
      root /home/User/public_html/project;
      location / {
        try_files $uri $uri/ /index.php$request_uri$is_args$query_string;
      }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥500 高有偿提问!求优化设计微信小程序
  • ¥15 matlab在安装时报错 无法找到入口 无法定位程序输入点
  • ¥15 收益高的广告联盟有哪些
  • ¥15 Android Studio webview 的使用问题, 播放器横屏全屏
  • ¥15 删掉jdk后重新下载,Java web所需要的eclipse无法使用
  • ¥15 uniapp正式环境中通过webapi将本地数据推送到设备出现的跨域问题
  • ¥15 xui建立节点,显示错误
  • ¥15 关于#单片机#的问题:开始、复位、十进制的功能可以实现,但是切换八进制的功能无法实现(按下按键也没有效果),把初始状态调成八进制,也是八进制可以实现但是切换到十进制不行(相关搜索:汇编语言|计数器)
  • ¥15 VINS-Mono或Fusion中feature_manager中estimated_depth是特征的深度还是逆深度?
  • ¥15 谷歌浏览器如何备份抖音网页数据