2017-07-09 4 views
1

j'ai un serveur Web nginx et je veux exécuter plusieurs projets Laravel sur elleLaravel ne fonctionne pas dans nginx alias

premier projet fonctionne bien, mais deuxième projet ouvre seule adresse de page d'accueil et la maison est

example.com/secondproject/ 

mais quand je veux ouvrir

example.com/secondproject/foo 

nginx sauterait/alias secondproject et recherche itinéraire demandé au premier projet (racine du serveur dans la configuration nginx)

c'est ma config

server { 
    listen 80; 
    server_name example.com; 
    rewrite_log on; 

    location/{ 

     root /path/to/first-project/public; 
     index index.php index.html index.htm; 

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

     location ~ \.php$ { 
      fastcgi_pass unix:/run/php-fpm/www.sock; 
      fastcgi_index index.php; 
      include fastcgi_params; 
      fastcgi_param SCRIPT_FILENAME $request_filename; 
      fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     } 

    } 
    location /secondproject { 

     alias /path/to/second-project/public; 
     index index.php; 

     location /secondproject { 
      try_files $uri $uri/ $uri/index.php /index.php; 
     } 

     location ~ \.php$ { 
      fastcgi_pass unix:/run/php-fpm/www.sock; 
      fastcgi_index index.php; 
      include fastcgi_params; 
      fastcgi_param SCRIPT_FILENAME $request_filename; 
      fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     } 

    } 

} 

et quand je remplacerai

root /path/to/second-project/public; 

au lieu de

alias /path/to/second-project/public; 

nginx montre 403!

Répondre

0

essayer comme ceci:

server { 

     listen 80; 

     server_name example.com www.example.com; 

     location/{ 

      root /path/to/first-project/public; 
      index index.php index.html index.htm; 

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

      location ~ \.php$ { 
       fastcgi_pass unix:/run/php-fpm/www.sock; 
       fastcgi_index index.php; 
       include fastcgi_params; 
       fastcgi_param SCRIPT_FILENAME $request_filename; 
       fastcgi_split_path_info ^(.+\.php)(/.+)$; 
      } 

     } 

     # ------- second 

     location /secondproject { 

      root /path/to/second-project/public; 
      index index.php index.html index.htm; 

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

      location ~ \.php$ { 
       fastcgi_pass unix:/run/php-fpm/www.sock; 
       fastcgi_index index.php; 
       include fastcgi_params; 
       fastcgi_param SCRIPT_FILENAME $request_filename; 
       fastcgi_split_path_info ^(.+\.php)(/.+)$; 
      } 

     } 

    } 
+0

ne peut pas redémarrer nginx après avoir ajouté lieu/secondproject {^ rewrite/*/secondproject dernière; } –

+0

il suffit de le supprimer et réessayez –