Nginx setup with pretty URLs

I am trying to set up yii2 on my local machine with Nginx and PHP 7.

I have installed Nginx using this guide: https://www.howtoforge.com/tutorial/installing-nginx-with-php7-fpm-and-mysql-on-ubuntu-16.04-lts-lemp/

Then I configured virtual server using Yii2 guide: http://www.yiiframework.com/doc-2.0/guide-start-installation.html

Unfortunately nothing works.

I am using Yii2 basic application template.

Pretty URL is on:




'urlManager' => [

    'enablePrettyUrl' => true,

    'showScriptName' => false,

    'rules' => [

    ],

],



My Nginx config:


##

# You should look at the following URL's in order to grasp a solid understanding

# of Nginx configuration files in order to fully unleash the power of Nginx.

# http://wiki.nginx.org/Pitfalls

# http://wiki.nginx.org/QuickStart

# http://wiki.nginx.org/Configuration

#

# Generally, you will want to move this file somewhere, and start with a clean

# file but keep this around for reference. Or just disable in sites-enabled.

#

# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.

##


# Default server configuration

#

server {

	listen 80 default_server;

	listen [::]:80 default_server;


	# SSL configuration

	#

	# listen 443 ssl default_server;

	# listen [::]:443 ssl default_server;

	#

	# Note: You should disable gzip for SSL traffic.

	# See: https://bugs.debian.org/773332

	#

	# Read up on ssl_ciphers to ensure a secure configuration.

	# See: https://bugs.debian.org/765782

	#

	# Self signed certs generated by the ssl-cert package

	# Don't use them in a production server!

	#

	# include snippets/snakeoil.conf;


	root /var/www/html;


	# Add index.php to the list if you are using PHP

	index index.html index.htm index.nginx-debian.html;


	server_name _;


	location / {

		# First attempt to serve request as file, then

		# as directory, then fall back to displaying a 404.

		try_files $uri $uri/ =404;

	}


	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

	location ~ \.php$ {

	    include snippets/fastcgi-php.conf;


	    # With php7-fpm:

	    fastcgi_pass unix:/run/php/php7.0-fpm.sock;

	}


	# deny access to .htaccess files, if Apache's document root

	# concurs with nginx's one

	#

	#location ~ /\.ht {

	#	deny all;

	#}

}




# Virtual Host configuration for example.com

#

# You can move that to a different file under sites-available/ and symlink that

# to sites-enabled/ to enable it.

#

#server {

#	listen 80;

#	listen [::]:80;

#

#	server_name example.com;

#

#	root /var/www/example.com;

#	index index.html;

#

#	location / {

#		try_files $uri $uri/ =404;

#	}

#}


server {

    charset utf-8;

    client_max_body_size 128M;


    listen 80; ## listen for ipv4

    #listen [::]:80 default_server ipv6only=on; ## listen for ipv6


    server_name basic.local;

    root        /var/www/html/basic/web;

    index       index.php;


    access_log  /logs/access.log;

    error_log   /logs/error.log;


    location / {

        # Redirect everything that isn't a real file to index.php

        try_files $uri $uri/ /index.php$is_args$args;

    }


    # uncomment to avoid processing of calls to non-existing static files by Yii

    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {

        try_files $uri =404;

    }


    #error_page 404 /404.html;


    # deny accessing php files for the /assets directory

    location ~ ^/assets/.*\.php$ {

        deny all;

    }


    location ~ \.php$ {

        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_index index.php;

        #fastcgi_pass unix:/var/run/php7-fpm.sock;

        try_files $uri =404;

    }


    location ~* /\. {

        deny all;

    }

}

When I visit basic.local I do not get anything.

When I visit localhost/basic I get 403 Forbidden.

When I visit localhost/basic/web I get 403 Forbidden.

When I visit localhost/basic/web/index.php I get the index page.

When I visit localhost/basic/web/site/about I get 404 Not Found

Can some1 guide me please what to do ? I have never used Nginx before, only apache.

By adding index.php to the index line I managed to make it work on localhost/basic/web, now it displays index page.


# Add index.php to the list if you are using PHP

index index.html index.htm index.nginx-debian.html index.php;

But localhost/basic/web/site/about still results in 404

[color="#006400"]/* Moved from "General Discussions" to "Installation and Setup" */[/color]