Nginx如何配置运行无扩展名PHP文件或非.PHP扩展名文件

使用Apache + PHP 很容易做到运行无扩展名的PHP文件。
在Nginx中能做到吗?是可以的。
只需将nginx.conf文件中的默认

location ~ .php$ {
…..
}

上的正则表达式 更改为:

location ~ (|.php)$ {

}

就可以了。

同理,可以运行非.php扩展名的PHP文件,如 abc.html, abc.asp, abc.net, abc.jsp 等扩展名的PHP文件。

 

上在代码在php-5.2.17与nginx-0.8.54下通过。


nginx.conf文件信息

 

user  nobody;

worker_processes  1;


error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;


pid        logs/nginx.pid;



events {

    worker_connections  1024;

}



http {

    include       mime.types;

    default_type  application/octet-stream;


    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

    #                  '$status $body_bytes_sent "$http_referer" '

    #                  '"$http_user_agent" "$http_x_forwarded_for"';


    #access_log  logs/access.log  main;


    server_names_hash_bucket_size 64;


    sendfile on;

    tcp_nopush     on;

    keepalive_timeout 60;

    tcp_nodelay on;

    fastcgi_connect_timeout 120;

    fastcgi_send_timeout 120;

    fastcgi_read_timeout 120;

    fastcgi_buffer_size 64k;

    fastcgi_buffers 4 64k;

    fastcgi_busy_buffers_size 128k;

    fastcgi_temp_file_write_size 128k;


    gzip  on;

    gzip_min_length  1k;

    gzip_buffers     4 8k;

    gzip_http_version 1.1;

    gzip_comp_level 2;

    gzip_types       text/plain application/x-javascript text/css application/xml;

    gzip_vary on;

    

    autoindex on;


    server {

        listen       8000;

        server_name  218.25.100.62;

        charset utf-8;

        location / {

            root   /opt/lzw/webapps;

            index  index.php index.html index.htm;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

        location ~ (|.php)$ {

            root           /opt/lzw/webapps;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

            include        fastcgi_params;

        }

    }

}