Nginx 隐藏index.php 使url 更简洁

在nginx配置文件nginx.conf中添加:

location / {
    if ( !-e $request_filename ) {
        rewrite ^/(.*)$ /index.php/$1 last;
    }
}

如果项目入口文件是在一个子目录里面,则如下:

location / {
    if ( !e $request_filename ) {
        rewrite ^/目录/(.*)$ /目录/index.php/$1 last;
    }
}

切记:不可以出现两个location / {}、否则nginx服务器将启动不了;

nginx配置如下: 

server {
    listen 80;
    server_name www.baidu.com baidu.com;
    root "D:/abc/php";
    location / {
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?$1 last;
        }
        index index.html index.htm index.php;
        autoindex on;
    }
    location ~ \.php(.*)$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        include fastcgi_params;
    }
}

其中:

autoindex on; 是打开nginx的浏览目录的功能;

你可能感兴趣的:(php,nginx,运维)