server
{
...
#我在server中定义了root
root /home/www/zscx;
....
#location中也定义一个root
location /
{
root /home/www/zscx/web;
try_files $uri /index.php?$args;
}
...
}
Adresse d'accès www.xxx.com/site/test
L'adresse de destination souhaitée est www.xxx.com/web/index.php?r=site/test
Mais l'adresse réelle consultée est www.xxx.com /index. php?r=site/test
C'est-à-dire que la racine que j'ai définie à l'emplacement ne fonctionne pas. Ce serait bien si elle était définie au débutroot /home/www/zscx/web
.
Expliquez pourquoi ?
Changez try_files $uri /index.php?$args;
try_files $uri /index.php?$args;
改为try_files $uri /web/index.php?$args;
这样子确实可以,但是还是会出现/web
这个目录。我想实现的是www.domain.com/controller/function
en try_files $uri /web/index.php?$args;
C'est effectivement possible, mais quand même le répertoire /web
apparaîtra. Ce que je veux réaliser, c'est www.domain.com/controller/function
En fait, il s'agit de résoudre le mode pathinfo de Yii2
https://github.com/yiisoft/yii2/blob/master/docs%2Fguide%2Fstart-installation.md#recommended-nginx-configuration-
yii2 Si vous souhaitez masquer le Web, incluez simplement le chemin racine dans le Web. Je me souviens dans la documentation yii que seul le répertoire Web est accessible. Quant à la situation que vous avez évoquée, root fonctionne, il n'est donc pas nécessaire d'écrire le chemin web