example.com/language/en が example.com/language?lang=en を指すようにしようとしています @language は既に機能しています (一種のバグがまだありますが、最後に説明します)残念ながら、@language と @extensionless-php を同時に機能させる方法がわかりません。@language コードをテストするために、場所の @extensionless-php を削除し、@location を追加しました。そして、現在の方法では、この //example.com/language/en/en/en のように複数のパラメーターを受け入れます。言語の後に複数の / がある場合は 404 エラーを返すようにします
現在の構成:
location / {
try_files $uri $uri.html $uri/ @extensionless-php;
}
location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}
location @language {
rewrite ^/language/(.*)$ /language.php?lang=$1 last;
}