переписать правила для nginx и Codeigniter - PullRequest
0 голосов
/ 22 ноября 2018

Я реализовал php-приложение в codeigniter и теперь хочу развернуть его на сервере nginx.Перед развертыванием я проверил свою конфигурацию nignx на своем локальном хосте, используя сервер MAMPЭто работает правильно.Но эта конфигурация не работает на реальном сервере.Как новичок в nginx, я не понимаю, в чем здесь ошибка.На живом сервере я не могу написать в основной файл nginx.conf.У меня есть отдельный файл конфигурации, такой как «abc» для моего приложения «abc».И все мои файлы приложений находятся в каталоге "abc / xyz".Вот мой пример конфигурации,

location /abc {
root /srv/www/htdocs/apps/;

index index.html index.htm index.php;


location /xyz {
    try_files $uri $uri/ /abc/xyz/index.php;
}

location ~ \.php(\/(\w+))*$ {
    try_files $uri =404;
    rewrite (.+)\.php(\/(\w+))*$ $1.php break;

    include /etc/nginx/fastcgi_params;

    fastcgi_index index.php;
    fastcgi_pass unix:/var/run/php-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

}

Здесь я могу видеть мою страницу приветствия https://myapplication/abc/xyz. Но если я хочу перейти на другие страницы, такие как https://myapplication/abc/xyz/other_pages, это показывает "404 Страница не найдена".Я проверил другие решения, но ни одно из них не работает в этом случае.Заранее спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Извините за поздний ответ.Это была на самом деле очень глупая ошибка.Имя страницы моего контроллера было маленьким.Вот почему это не работает.Моя конфигурация в порядке.Первая буква страницы контроллера должна быть заглавной.Например, мой контроллер называется Home.Так что мое имя php-файла должно быть Home.php, а не home.php.

0 голосов
/ 22 ноября 2018

Блок location /xyz вложен в блок location /abc.Вложенный блок должен прецессировать URI с префиксом /abc/xyz.

Если есть другие регулярное выражение location блоков, окружающих ваш location /abc блок , you should use the ^ ~ `модификатор.

Например:

location ^~ /abc {
    ...
    location /abc/xyz {
        ...
    }
    ...
}

Подробнее см. в этом документе .

...