Назад | Перейти на главную страницу

Nginx, перенаправьте все запросы в один файл index.php в подпапке

Я пытаюсь перенести свой сайт с Apache на Nginx. Мой веб-сайт имеет такую ​​структуру:

Все запросы перенаправляются с www_root в общую папку с .htaccess, которая содержит:

RewriteRule    ^$   public/    [L]
RewriteRule    (.*) public/$1    [L]

в общая папка, все запросы перенаправляются в единую точку входа index.php с этим .htaccess:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]

На данный момент мой серверный блок такой:

server {
    server_name domain.com www.domain.com;
    root /var/www/domain.com/htdocs/public;

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

    location ~ ^/index\.php(/|$) {
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        internal;
    }
}

Поэтому я могу просмотреть только желаемую страницу, добавив строку запроса. Например. http://www.domain.com/?page=the/page/to/see

Как я могу добиться этого с помощью Nginx? Я пробовал много решений, но безуспешно.

Спасибо за помощь !