Question
nginx / php-fpm rewriting for laravel
Hi all,
I am new to configuring nginx and have been following many tutorials but to no avail in trying to get a subdomain routed correctly.
quick sidenotes, my domain is hosted elsewhere and for now I have beta.domain pointing to DO - until I can test site works then I will migrate. Also, my LEMP installation is the default just with my custom site.
my sites-available/example.com file reads as follows (note it’s not actually called example.com i’m just substituting that for question purposes).
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/example.com/public;
index index.php;
server_name example.com;
try_files $uri $uri/ @rewrite;
location @rewrite {
rewrite ^/(.*)$ /index.php/$1;
}
location ~ [^/]\.php(/|$) {
try_files $uri $uri/ @rewrite;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
I effectively have this block in my config, one for eaxmple.com and another for beta.example.com.
after a morning trying my laravel is at least working when I do beta.example.com/index.php/page but I would like to turn this into beta.example.com/page.
Thanks in advance for any replies.
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
×
in my error log I get this when I try to use the rewritten url
*9 FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream, client: x.x.x.x, server: beta.example.com, request: “GET /test HTTP/1.1”, upstream: “fastcgi://unix:/var/run/php5-fpm.sock:”, host: “beta.example.com”