Как заставить nginx использовать определенный URI в / path - PullRequest
0 голосов
/ 06 мая 2019

У меня есть проект, который является базой кода для всех доменов, например, domainA.com, domainB.com и domainC.com.

В localhost я могу получить к ним доступ:

http://localhost/domainA (homepage of domainA)
http://localhost/domainA/about
http://localhost/domainA/work

http://localhost/domainB (homepage of domainB)
http://localhost/domainB/hello
http://localhost/domainB/goodbye

http://localhost/domainC (homepage of domainC)
http://localhost/domainC/foo
http://localhost/domainC/bar

Теперь, как я могу создать конфигурацию nginx для тех доменов, которые вместо попадания в / root путь попадут в определенный URI, так:

http://domainA.com (equivalent to http://localhost/domainA)
http://domainC.com/foo (equivalent to http://localhost/domainC/foo)

и так далее ...

Вот текущая конфигурация domainA.com, но для доступа к содержимому домена A мне нужно набрать http://domainA.com/domainA (домашняя страница домена A).

server {
listen 80;
server_name domainA.com;
root /var/www/html/codebaseofalldomains/public;

location / {
    # try to serve file directly, fallback to index.php
    try_files $uri /index.php$is_args$args;
}

location ~ ^/index\.php(/|$) {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

error_log /var/log/nginx/domainA_error.log;
access_log /var/log/nginx/domainA_access.log;
}

Как я могу заставить эту работу работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...