Chcem mať viacjazyčné (php / html) stránky ... ale ja som veľmi slabý v nginx / prepis Na http adrese sú 3 premenné (ln - jazyk, stránka, krok)
Pri písaní je problém https://testpage.org.pl/esp/home "/ esp /" - nie je rozpoznaná ako premenná $ ln ...
ako to môžem opraviť?
tu je môj nginx prepísať:
rewrite ^/([a-zA-Z0-9]+)$ /index.php?page=$1 last;
rewrite ^/([a-zA-Z0-9]+)/step-([1-3])$ /index.php?page=$1&step=$2 last;
rewrite "^/([a-z]{2})/$" /index.php?ln=$1 last;
rewrite "^/([a-z]{2})/([a-zA-Z0-9]+)$" /index.php?ln=$1&page=$2 last;
rewrite "^/([a-z]{2})/([a-zA-Z0-9]+)/step-([1-3])$" /index.php?ln=$1&page=$2&step=$3 last;
odpovede:
1 pre odpoveď č. 1Ak vaša premenná jazyka vždy obsahuje 2 alebo 3 znaky, môžete jednoducho zmeniť svoje prepisy s premennou jazyka v ňom na:
rewrite "^/([a-z]{2,3})/$" /index.php?ln=$1 last;
rewrite "^/([a-z]{2,3})/([a-zA-Z0-9]+)$" /index.php?ln=$1&page=$2 last;
rewrite "^/([a-z]{2,3})/([a-zA-Z0-9]+)/step-([1-3])$" /index.php?ln=$1&page=$2&step=$3 last;
Týmto sa ubezpečí, že bude zodpovedať len jazyku s dĺžkou medzi 2 a 3 a pravdepodobne bude vo vašom prípade fungovať.