PHP完全自学手册(珍藏版) 中文pdf扫描版下载
server
{
listen 80;
#listen [::]:80;
server_name www.kuitao8.com;
index index.html index.htm index.php default.html default.htm default.php;
root /www/kuitao8;
location / {
index index.htm index.html index.php;
if (!-e $request_filename){
#地址作为将参数rewrite到index.php上。tp框架接收s参数为controller和action,不少框架都利用这种方式来实现伪pathinfo模式(pathinfo为php功能,nginx并不支持)
rewrite ^/(.*)$ /index.php?s=$1 last;
break;
}
}
#上面的正则能解决不带xx.php的,这条正则是为了rewrite url中带index.php/admin/admin/login这种,思路是一样的,将index.php后的字符串当成参数
location ~ /.*\.php/ {
rewrite ^(.*?/?)(.*\.php)(.*)$ /$2?s=$3 last;
break;
}
location ~ \.php/?.*$ {
root /www/kuitao8;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
#set $path_info "";
#定义变量 $real_script_name,用于存放真实地址
#set $real_script_name $fastcgi_script_name;
#如果地址与引号内的正则表达式匹配
#if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
#将文件地址赋值给变量 $real_script_name
#set $real_script_name $1;
#将文件地址后的参数赋值给变量 $path_info
#set $path_info $2;
#}
#配置fastcgi的一些参数
#fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
#fastcgi_param SCRIPT_NAME $real_script_name;
#fastcgi_param PATH_INFO $path_info;
}
#error_page 404 /404.html;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/www.kuitao8.com.log;
}
转载请注明:谷谷点程序 » thinkphp解决url出现.php的方法 完美解决u方法