nginx equivalente ao Apache MultiViews?

4

Se você colocar isso no seu arquivo .htaccess

Options MultiViews

e você tem esses arquivos

stuff/
    howto.html
    index.php
    items.php

então todos esses endereços da Web funcionam

/stuff/           # brings up /stuff/index.php.
                  # Yes, this would have worked
                 '# even without MultiViews

/stuff/howto      # brings up /stuff/howto.html.
                  #'This would not have
                  # worked without MultiViews,
                  # although you could have done
                  # it with a Rewrite rule, too

/stuff/items      # brings up /stuff/items.php

/stuff/items/1234 # brings up /stuff/items.php,
                  # and sets $_SERVER['PATH_INFO']
                  # to '/1234'

/stuff/items/2010/03/01/how-to-plant-a-garden
                  # brings up /stuff/items.php, and
                  # sets $_SERVER['PATH_INFO']
                  # to '/2010/03/01/how-to-plant-a-garden'.
                  # If my file layout was different,
                  # like /stuff/items/2010.php,
                  # then it would have brought up
                  # 2010.php, and given it the PATH_INFO
                  # string of '/03/01/how-to-plant-a-garden'
                  # So it seems Apache searches the string
                  # from right to left for a file

Colocar MultiViews no arquivo .htaccess é muito menor do que usar regras de regravação.

Mas agora estou olhando para o nginx e ainda não encontrei o equivalente. Não precisa ser tão curto. Eu sei que o try_files cuida daqueles sem strings PATH_INFO. Mas para aqueles com PATH_INFO, a única maneira que encontrei é uma regra de reconfiguração para cada arquivo PHP, especialmente aqueles que usam barras em PATH_INFO.

    
por Andrew Banks 04.06.2011 / 18:09

0 respostas