Maison > Questions et réponses > le corps du texte
#rewrite .* /index.php last;
rewrite ^/(.*)$ /index.php/ last;
Pour ces deux lignes de code, la ligne précédente peut être utilisée normalement, mais la deuxième ligne signalera une erreur dès son utilisation. Pourquoi ? ? Y a-t-il une configuration qui doit être activée ? J'ai regardé la documentation et je ne l'ai pas trouvée. . .
曾经蜡笔没有小新2017-05-16 17:22:17
réécrivez ^/(.*)$ /index.php/$1 en dernier;
où $1
représente ^/(.*)$
Le contenu capturé par l'expression régulière est le contenu capturé par (.*)
. rewrite ^/(.*)$ /index.php/ last;
中 代表的是
^/(.*)$
正则捕获的内容,也就是(.*)
捕获到的内容。
^/(.*)$
中^/
表示已/
开头,.
表示匹配除换行符以外的任意字符,*
表示重复0次或更多次,$
表示匹配字符串的结束,()
表示捕获(匹配)内容。小括号
()
之间匹配的内容,可以在后面通过来引用,
表示的是前面第二个
()
里的内容。
也就是当一个请求链接为 /test
,就会被重写为/index.php/test
并重定向到/index.php/test
,所以请确保有这样的资源地址 /index.php/test
🎜C'est-à-dire que lorsqu'un lien de requête estDans
^/(.*)$
,^/
signifie qu'il commence par/
et.
signifie correspondre à n'importe quel caractère à l'exception des sauts de ligne,*
signifie répéter 0 fois ou plus,$
signifie la fin de la chaîne correspondante,()
signifie Capturez (faites correspondre) le contenu. 🎜- 🎜Le contenu correspondant entre les parenthèses
()
peut être référencé ultérieurement via$1
, et$2
représente le deuxième Le contenu de chaque < code>(). 🎜
/test
, il sera réécrit comme /index.php/test
et redirigé vers /index.php/test< /code>, alors assurez-vous d'avoir une telle adresse de ressource /index.php/test
🎜répondre0
伊谢尔伦2017-05-16 17:22:17
Utilisez nginx -t
pour tester si la configuration est correcte. L'erreur
500 vous indiquera généralement la raison