codeigniter在nginx安装配置及URL重写
配置nginx
修改nginx配置文件
server {
listen 80;
server_name yier.ci.com;
rewrite_log on;
root /usr/share/nginx/html/yier.ci.com;
#charset koi8-r;
access_log /var/log/nginx/yier.ci.com.access.log main;
location / {
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)/(.*)$ /index.php?c=$1&m=$2 last;
break;
}
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/nginx/html/yier.ci.com;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
保存,退出,重启nginx
service nginx reload
配置config.php
vim application/config/config.php
$config['base_url'] = 'http://yier.ci.com';
$config['index_page'] = '';
$config['uri_protocol'] = 'PATH_INFO';
创建控制器
vim application/controllers/hello.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Hello extends CI_Controller {
public function index()
{
$this->load->view('hello');
}
}
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hello to CodeIgniter</title>
</head>
<body>
<div id="container">
<h1>Hello to CodeIgniter!</h1>
<p class="footer">Page rendered in <strong>0.0687</strong> seconds. <?php echo (ENVIRONMENT === 'development') ? 'CodeIgniter Version <strong>' . CI_VERSION . '</strong>' : '' ?></p>
</div>
</body>
</html>
保存之后,浏览器访问
http://yier.ci.com/index.php?c=hello&m=index
使用:http://yier.ci.com/hello/index