Convert Nginx Conf to use different roots for each locationBlank Page: wordpress on nginx+php-fpmNginx gives 504 Gateway Time-out once moved to livenginx php5-fpm path_info urls and root locationNGINX don't parse .php5 as .phpLaravel 4.1 on nginx routes error 404nginx rewrite throw 404 with last and breaknginx PHP files downloading instead of executingCodeIgniter nginx rewrite rules for i8ln URL'sHow to serve Autodiscover.xml using NginxHow to configure nginx to serve one site from two different document root and using different php depending on URL

Renting a house to a graduate student in my department

Pre-1993 comic in which Wolverine's claws were turned to rubber?

How can I test a shell script in a "safe environment" to avoid harm to my computer?

Thawing Glaciers return to hand interaction

Why did they wait for Quill to arrive?

When do you stop "pushing" a book?

How did Captain Marvel know where to find these characters?

Can a planet still function with a damaged moon?

Does a surprised creature obey the 1st level spell Command?

Ugin's Conjurant vs. un-preventable damage

Probability of taking balls without replacement from a bag question

What can cause an unfrozen indoor copper drain pipe to crack?

How to get MAX value using SOQL when there are more than 50,000 rows

Was Mohammed the most popular first name for boys born in Berlin in 2018?

Are there vaccine ingredients which may not be disclosed ("hidden", "trade secret", or similar)?

Not taking the bishop with the knight, why?

What is the minimum required technology to reanimate someone who has been cryogenically frozen?

Is it a good idea to copy a trader when investing?

Company stopped paying my salary. What are my options?

if i accidentally leaked my schools ip address and someone d doses my school am i at fault

Compactness in normed vector spaces.

Names of the Six Tastes

Why is it wrong to *implement* myself a known, published, widely believed to be secure crypto algorithm?

Gift for mentor after his thesis defense?



Convert Nginx Conf to use different roots for each location


Blank Page: wordpress on nginx+php-fpmNginx gives 504 Gateway Time-out once moved to livenginx php5-fpm path_info urls and root locationNGINX don't parse .php5 as .phpLaravel 4.1 on nginx routes error 404nginx rewrite throw 404 with last and breaknginx PHP files downloading instead of executingCodeIgniter nginx rewrite rules for i8ln URL'sHow to serve Autodiscover.xml using NginxHow to configure nginx to serve one site from two different document root and using different php depending on URL






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I am trying to modify my Nginx config so that the /tablet & /mobile locations are served from their own root.



I believe i need to add Alias definitions to my locations but not quite sure about the specifics.



server 
listen 80 default_server;
# listen [::]:80 default_server ipv6only=on;

root /var/www/htdocs;
index index.php index.html index.htm;

server_name localhost;

location /mobile
if (!-e $request_filename)
rewrite ^/mobile/(.*)$ /mobile/index.php?$args last;



location /tablet
if (!-e $request_filename)
rewrite ^/tablet/(.*)$ /tablet/index.php?$args last;



location /
try_files $uri $uri/ /index.php?$args;


location ~ .php$
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;


server
listen 80;
server_name www.domain.com domain.com docker.domain.com ;

root /var/www/htdocs;
index index.php index.html index.htm;

if ($http_x_forwarded_proto != 'https')
return 301 https://$server_name$request_uri;


location /mobile
if (!-e $request_filename)
rewrite ^/mobile/(.*)$ /mobile/index.php?$args last;



location /tablet
if (!-e $request_filename)
rewrite ^/tablet/(.*)$ /tablet/index.php?$args last;



location ~ .php$
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;


location /
if ($http_x_forwarded_proto != 'https')
return 301 https://$server_name$request_uri;

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




So I have tried adding the following:



 location /test 
alias /var/www/htdocs/test;



This correctly serves the files from the specified location, but if I echo server root it shows /var/www/htdocs/.










share|improve this question






















  • With alias nginx basically "drops" the location value (in this case test) when looking for the path to serve files from. So your correct root, is /var/www/htdocs/ for the /test location. You can't set root to be /var/www/htdocs/test in the /test location and then serve files from /var/www/htdocs/test. You would have to move the files to /var/www/htdocs/test/test/ to do that

    – Drifter104
    Apr 30 at 8:36











  • Not related to your actual question, but for best practices, instead of using if (!-e $request_filename), use try_files $uri /mobile/index.php?$args; in your /tablet / /mobile location blocks.

    – Tero Kilkanen
    May 1 at 12:16

















0















I am trying to modify my Nginx config so that the /tablet & /mobile locations are served from their own root.



I believe i need to add Alias definitions to my locations but not quite sure about the specifics.



server 
listen 80 default_server;
# listen [::]:80 default_server ipv6only=on;

root /var/www/htdocs;
index index.php index.html index.htm;

server_name localhost;

location /mobile
if (!-e $request_filename)
rewrite ^/mobile/(.*)$ /mobile/index.php?$args last;



location /tablet
if (!-e $request_filename)
rewrite ^/tablet/(.*)$ /tablet/index.php?$args last;



location /
try_files $uri $uri/ /index.php?$args;


location ~ .php$
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;


server
listen 80;
server_name www.domain.com domain.com docker.domain.com ;

root /var/www/htdocs;
index index.php index.html index.htm;

if ($http_x_forwarded_proto != 'https')
return 301 https://$server_name$request_uri;


location /mobile
if (!-e $request_filename)
rewrite ^/mobile/(.*)$ /mobile/index.php?$args last;



location /tablet
if (!-e $request_filename)
rewrite ^/tablet/(.*)$ /tablet/index.php?$args last;



location ~ .php$
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;


location /
if ($http_x_forwarded_proto != 'https')
return 301 https://$server_name$request_uri;

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




So I have tried adding the following:



 location /test 
alias /var/www/htdocs/test;



This correctly serves the files from the specified location, but if I echo server root it shows /var/www/htdocs/.










share|improve this question






















  • With alias nginx basically "drops" the location value (in this case test) when looking for the path to serve files from. So your correct root, is /var/www/htdocs/ for the /test location. You can't set root to be /var/www/htdocs/test in the /test location and then serve files from /var/www/htdocs/test. You would have to move the files to /var/www/htdocs/test/test/ to do that

    – Drifter104
    Apr 30 at 8:36











  • Not related to your actual question, but for best practices, instead of using if (!-e $request_filename), use try_files $uri /mobile/index.php?$args; in your /tablet / /mobile location blocks.

    – Tero Kilkanen
    May 1 at 12:16













0












0








0








I am trying to modify my Nginx config so that the /tablet & /mobile locations are served from their own root.



I believe i need to add Alias definitions to my locations but not quite sure about the specifics.



server 
listen 80 default_server;
# listen [::]:80 default_server ipv6only=on;

root /var/www/htdocs;
index index.php index.html index.htm;

server_name localhost;

location /mobile
if (!-e $request_filename)
rewrite ^/mobile/(.*)$ /mobile/index.php?$args last;



location /tablet
if (!-e $request_filename)
rewrite ^/tablet/(.*)$ /tablet/index.php?$args last;



location /
try_files $uri $uri/ /index.php?$args;


location ~ .php$
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;


server
listen 80;
server_name www.domain.com domain.com docker.domain.com ;

root /var/www/htdocs;
index index.php index.html index.htm;

if ($http_x_forwarded_proto != 'https')
return 301 https://$server_name$request_uri;


location /mobile
if (!-e $request_filename)
rewrite ^/mobile/(.*)$ /mobile/index.php?$args last;



location /tablet
if (!-e $request_filename)
rewrite ^/tablet/(.*)$ /tablet/index.php?$args last;



location ~ .php$
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;


location /
if ($http_x_forwarded_proto != 'https')
return 301 https://$server_name$request_uri;

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




So I have tried adding the following:



 location /test 
alias /var/www/htdocs/test;



This correctly serves the files from the specified location, but if I echo server root it shows /var/www/htdocs/.










share|improve this question














I am trying to modify my Nginx config so that the /tablet & /mobile locations are served from their own root.



I believe i need to add Alias definitions to my locations but not quite sure about the specifics.



server 
listen 80 default_server;
# listen [::]:80 default_server ipv6only=on;

root /var/www/htdocs;
index index.php index.html index.htm;

server_name localhost;

location /mobile
if (!-e $request_filename)
rewrite ^/mobile/(.*)$ /mobile/index.php?$args last;



location /tablet
if (!-e $request_filename)
rewrite ^/tablet/(.*)$ /tablet/index.php?$args last;



location /
try_files $uri $uri/ /index.php?$args;


location ~ .php$
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;


server
listen 80;
server_name www.domain.com domain.com docker.domain.com ;

root /var/www/htdocs;
index index.php index.html index.htm;

if ($http_x_forwarded_proto != 'https')
return 301 https://$server_name$request_uri;


location /mobile
if (!-e $request_filename)
rewrite ^/mobile/(.*)$ /mobile/index.php?$args last;



location /tablet
if (!-e $request_filename)
rewrite ^/tablet/(.*)$ /tablet/index.php?$args last;



location ~ .php$
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;


location /
if ($http_x_forwarded_proto != 'https')
return 301 https://$server_name$request_uri;

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




So I have tried adding the following:



 location /test 
alias /var/www/htdocs/test;



This correctly serves the files from the specified location, but if I echo server root it shows /var/www/htdocs/.







nginx






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 30 at 8:19









JamesJames

101




101












  • With alias nginx basically "drops" the location value (in this case test) when looking for the path to serve files from. So your correct root, is /var/www/htdocs/ for the /test location. You can't set root to be /var/www/htdocs/test in the /test location and then serve files from /var/www/htdocs/test. You would have to move the files to /var/www/htdocs/test/test/ to do that

    – Drifter104
    Apr 30 at 8:36











  • Not related to your actual question, but for best practices, instead of using if (!-e $request_filename), use try_files $uri /mobile/index.php?$args; in your /tablet / /mobile location blocks.

    – Tero Kilkanen
    May 1 at 12:16

















  • With alias nginx basically "drops" the location value (in this case test) when looking for the path to serve files from. So your correct root, is /var/www/htdocs/ for the /test location. You can't set root to be /var/www/htdocs/test in the /test location and then serve files from /var/www/htdocs/test. You would have to move the files to /var/www/htdocs/test/test/ to do that

    – Drifter104
    Apr 30 at 8:36











  • Not related to your actual question, but for best practices, instead of using if (!-e $request_filename), use try_files $uri /mobile/index.php?$args; in your /tablet / /mobile location blocks.

    – Tero Kilkanen
    May 1 at 12:16
















With alias nginx basically "drops" the location value (in this case test) when looking for the path to serve files from. So your correct root, is /var/www/htdocs/ for the /test location. You can't set root to be /var/www/htdocs/test in the /test location and then serve files from /var/www/htdocs/test. You would have to move the files to /var/www/htdocs/test/test/ to do that

– Drifter104
Apr 30 at 8:36





With alias nginx basically "drops" the location value (in this case test) when looking for the path to serve files from. So your correct root, is /var/www/htdocs/ for the /test location. You can't set root to be /var/www/htdocs/test in the /test location and then serve files from /var/www/htdocs/test. You would have to move the files to /var/www/htdocs/test/test/ to do that

– Drifter104
Apr 30 at 8:36













Not related to your actual question, but for best practices, instead of using if (!-e $request_filename), use try_files $uri /mobile/index.php?$args; in your /tablet / /mobile location blocks.

– Tero Kilkanen
May 1 at 12:16





Not related to your actual question, but for best practices, instead of using if (!-e $request_filename), use try_files $uri /mobile/index.php?$args; in your /tablet / /mobile location blocks.

– Tero Kilkanen
May 1 at 12:16










0






active

oldest

votes












Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f965233%2fconvert-nginx-conf-to-use-different-roots-for-each-location%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Server Fault!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f965233%2fconvert-nginx-conf-to-use-different-roots-for-each-location%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company