recherche

Maison  >  Questions et réponses  >  le corps du texte

thinkphp - Lors de la configuration de la réécriture dans nginx, une erreur 500 se produit lorsque des mots tels que $1 apparaissent.

#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. . .

PHPzPHPz2791 Il y a quelques jours593

répondre à tous(3)je répondrai

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 17:22:17

    réécrivez ^/(.*)$ /index.php/$1 en dernier;$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

      Dans
    • ^/(.*)$, ^/ 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>(). 🎜
    🎜C'est-à-dire que lorsqu'un lien de requête est /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épondre
    0
  • 伊谢尔伦

    伊谢尔伦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

    .

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-16 17:22:17

    Essayez de supprimer cette expression régulière

    répondre
    0
  • Annulerrépondre