Wordpress not able to display theme properly - FastCGI sent in stderr: "Primary script unknown"

vikask nginx-forum at forum.nginx.org
Fri Dec 20 11:32:58 UTC 2019


I have installed Wordpress in a subdirectory - /var/www/html/stage

I am getting the following error in the error log. I think the filename
being passed has the subdirectory name prepended, which should not happen.

-----

2019/12/20 15:34:00 [error] 22393#22393: *10 FastCGI sent in stderr:
"Primary script unknown" while reading response header from upstream,
client: 110.227.251.142, server: mywebsite.com, request: "GET
/stage/%20https://mywebsite.com/stage/wp-content/uploads/2019/11/hp_slider_bg-1500x797.jpg
HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host:
"fp-academy.in", referrer: "https://fp-academy.in/stage/"
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi record byte: 01
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi record byte: 06
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi record byte: 00
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi record byte: 01
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi record byte: 00
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi record byte: 51
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi record byte: 07
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi record byte: 00
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi record length: 81
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi parser: 0
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi header: "Status:
404 Not Found"
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi parser: 0
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi header:
"Content-type: text/html; charset=UTF-8"
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi parser: 1
2019/12/20 15:34:00 [debug] 22393#22393: *10 http fastcgi header done
2019/12/20 15:34:00 [debug] 22393#22393: *10 HTTP/1.1 404 Not Found



---/etc/nginx/sites-enabled/default looks like this

server {   # We're deliberately leaving this as-is to avoid conflict at the
moment

    root /var/www/html;
    server_name mywebsite.com www.mywebsite.com;
#    rewrite ^/moodle/(.*\.php)(/)(.*)$ /moodle/$1?file=/$3 last;
#    rewrite ^(..php)(/)(.)$ $1?file=/$3 last;    
    index  index.php index.html index.htm login.php;
# if you get errors enable the line below and find out errors in the log
file.
#    error_log /var/log/nginx/error.log notice;
   
     location / {
 	index  index.php index.html index.htm login.php;
        try_files $uri  /index.php?$args;
    }

    location ~ \.php$ {
	try_files $uri  /index.php?$args;
	try_files $uri $script_name =404;
	fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	fastcgi_param PATH_INFO $fastcgi_path_info;
    }

     location /fpelms {
	root /var/www/html;        
 	index  index.php index.html index.htm login.php;
    }

     location /stage {
    		root /var/www/html;
    		index index.php;

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

    
      location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
    }

    location ~/\.ht {
        deny all;
    }


    location /remotech.html {
        proxy_pass https://outsidedomain.com/;
        }

    location /static {
        proxy_pass https://outsidedomain.com/static/;
      }

     location /api/ {
         proxy_pass https://outsidedomain.com/api/;
       }

     location /firebase-messaging-sw.js{
              proxy_pass
https://outsidedomain.com/firebase-messaging-sw.js;
       }

       location /manifest.json{
              proxy_pass https://outsidedomain.com/manifest.json;
       }

      location /plugins {
              proxy_pass https://outsidedomain.com/plugins/;
       }

        location /scripts {
              proxy_pass https://outsidedomain.com/scripts/;
       }

       location /styles {
              proxy_pass https://outsidedomain.com/styles/;
       }


       location /assets {
              proxy_pass https://outsidedomain.com/assets/;
       }

       location /fonts {
              proxy_pass https://outsidedomain.com/fonts/;
       }


    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/mywebsite.com/fullchain.pem; #
managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mywebsite.com/privkey.pem; #
managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot




}



server {
    if ($host = www.mywebsite.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = mywebsite.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name mywebsite.com www.mywebsite.com;
    return 404; # managed by Certbot


}

----------

Posted at Nginx Forum: https://forum.nginx.org/read.php?2,286524,286524#msg-286524



More information about the nginx mailing list