我有一个小的Codeigniter项目,而passing uri(localhost/project/index.php/Cfoo/funct/param
)不起作用(404)。 php代码没问题,因为lighttpd工作正常。
我的nginx
配置:
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;
}
}
}
编辑服务器部分:
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; }
}
答案 0 :(得分:1)
这样可行,您不需要将index.php
放入网址
将User
替换为您实际用户的主页
server {
root /home/User/public_html/project;
location / {
try_files $uri $uri/ /index.php$request_uri$is_args$query_string;
}
}