Задать вопрос
Sander_Li
@Sander_Li
Backend developer

Как настроить nginx?

Пробую запустить приложение на yii2 (advanced шаблон).
urlManager выглядит так
'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                'posts' => 'posts/index',
                '<slug:\w+>' => 'posts/view'
            ]
        ]

Локально с апачем все прекрасно работает.
На сервере стоит nginx/1.2.3 + php-fpm Перестает работать url менеджер.
Пути строятся таким образом posts/view?slug=zolotoe-koltso-rossii вместо
zolotoe-koltso-rossii

Конфиг брал от сюда

cgi.fix_pathinfo = 0; (phpinfo();)
В чем может быть проблема? Спасибо.
  • Вопрос задан
  • 4344 просмотра
Подписаться 3 Оценить 1 комментарий
Решения вопроса 1
Sander_Li
@Sander_Li Автор вопроса
Backend developer
Оказалось причина в правилах Urlmanager.
Тире в урлах не попадают под правило \w+
Помогли на форуме
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sanchezzzhak
@sanchezzzhak
Ля ля ля...
попробуйте этот конфиг
www.yiiframework.com/doc-2.0/guide-installation.html

Мой конфиг на локальной машине выглядит вот так
server {
	listen   127.0.0.1:80;
	server_name  portal www.portal;
	
	root home/portal/public_html/web;
	index index.php index.html;

	log_not_found off;
	charset utf-8;

	access_log  logs/portal-access.log  main;

	location ~ /\. {deny all;}

	location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php; } }

	location = /favicon.ico {
	}

	location = /robots.txt {
	}

	location ~ \.php$ {
		if (!-e $document_root$document_uri){return 404;}
		fastcgi_pass 127.0.0.1:9054;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include fastcgi_params;
	}
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы