0

私はnginxが初めてで、URLの最初のディレクトリの名前で深いディレクトリをphpに書き換えるようにnginxを構成しようとしています。例えば:

http://domain.com/news/search/band/ -> news.php
http://domain.com/article/blue/300/?arg=10 -> article.php?arg=10
http://domain.com/xxx/yyy/zzz/ -> xxx.php

私はいくつかの正規表現で試しました:

try_files $uri $uri/ @extensionless-php /index.php?$args =404;

しかし、私は成功していません。誰かが私を助けることができますか?ありがとうございました

4

1 に答える 1

0

自分への返信:

多くの Apache インストールでは、マルチビューが有効になっています。これも、try_files ディレクティブを使用して行うことができます。

location ~ ^(/.+)/ {
    try_files $uri $1?$args $1.php?$args;
}

Apache のマルチビューが行うこと (ファイル拡張子を省略できるようにするなど) を正確に行うわけではありませんが、PHP 構成では、10 回中 9 回は上記の動作が必要であり、PHP ファイルがファイル名を含むすべての要求を処理できるようにします。およびいくつかのスラッシュが追加されています。

于 2014-06-29T11:45:09.263 に答える