关于 nginx服务器 出现404或页面无法跳转的问题

其他 收藏 0 153
FREE VIP 2019-08-23 16:28:07

说明一下:这是二级域名配置了SSL的子文件,不包括nginx.conf的其他配置,代码在下方贴了出来

折腾了两天,网上的办法试了很多几乎没什么用

归根到底的原因是nginx不支持pathinfo模式

1.下方图片如果没有1、3两段配置会出现index首页正常访问,其他页面无法跳转

2.下方图片第二个红框,如果\.php后面有$,就会出现index首页正常访问,其他页面404的情况

第一次用nginx,就是这一点点细节整的人要崩溃

undefined

server
    {
     listen 443; #SSL 访问端口号为 443
     server_name admin.freees.cn; #填写绑定证书的域名
     ssl on; #启用 SSL 功能
	 root  /home/www/admin/public; #网站主页路径。
     ssl_certificate 1_admin.freees.cn_bundle.crt; #证书文件名称
     ssl_certificate_key 2_admin.freees.cn.key; #私钥文件名称
     ssl_session_timeout 5m;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照这个协议配置
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_prefer_server_ciphers on;
	

		
	location / {
		index  index.php index.html index.htm;
    		try_files $uri $uri/ /index.php?$query_string;
		if (!-e $request_filename){
          	rewrite ^/(.*)$ /index.php/$1 last;
			break;
     		}
        }
 	
	location ~ \.php {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_param   PATH_INFO   $fastcgi_path_info; 
		fastcgi_pass unix:/tmp/php-cgi.sock;
		fastcgi_index index.php;
		include fastcgi_params;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
			}	
        include enable-php.conf;


        access_log  /home/wwwlogs/admin_access.log;
        error_log  /home/wwwlogs/admin_error.log;
    }


server {
	listen 80;
	server_name admin.freees.cn;
	return 301 https://admin.freees.cn; 
}

评论
  • 消灭零回复