尝试使用nginx正则expression式位置configuration实现url第一段中的常量语言代码,并找不到正确的语法。
必要的结果:
目前我已经发现了这个代码,但它仍然停留在某个地方。 它使永久循环,并不使用$ 1参数。
location ~ "^/(?![az]{2}/)(.+)$" { rewrite / /en/$1 permanent; } #Using handler here for removing index.php in uri (example.com/index.php -> example.com); location / { index index.htm index.html index.php; try_files $uri $uri/ @handler; } location @handler { rewrite / /index.php?$query_string; }
更新:答案可以在这个问题中find: https : //stackoverflow.com/a/33913261/2662849
@handler
位置会将URI重写为/index.php
,然后redirect到/en/index.php
,如果它不存在,则调用@handler
位置。
阅读这个文档是因为你需要一些东西来处理PHP。 redirect循环是由于文件或处理程序不存在而引起的。 您需要定义一个位置来处理PHP文件,或者是另一个正则expression式位置或者您指定的位置。