0

nginx リダイレクト / try_files に関する質問があります。www.XXXYYY.com
に Web サイト (ISPConfig3 によって管理される仮想ホスト)
があります。ルート ディレクトリには、index.php などのフォルダーがあります。
で特定のファイルにwww.XXXYYY.com/folder21/public/309273.phpアクセスできるようにしたいwww.XXXYYY.com/309273(よりきれいなリンクを作成するため)。

しかし、私が試したすべてのことはまったく機能しないか、PHP-FPM によって処理される代わりに .php ファイルがダウンロードされました…</p>

これは、ISPConfig3 で現在試している nginx vhost ディレクティブです。

これは ISPConfig3 によって設定されています。

location ~ \.php$ {
        try_files @php;
    }

location @php {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9026;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
    }

これは、vhost-file の下部に私が追加している部分です。

location / {
   try_files $uri $uri/ /folder21/public/$uri.php /index.php =404;
}

location /folder21/       { internal; }
location /folder21/public/ {
    try_files $uri $uri/ $uri.php;
}

これに関するヘルプをいただければ幸いです。

4

1 に答える 1

0

これは私がpydioのために得たものです:

location /conf/       { deny all; }
location /data/       { internal; }
location /data/public/ {
    try_files $uri $uri/ $uri.php?$args;
    rewrite ^/data/public/([a-z0-9]+)-([a-z]+)$ /data/public/$1.php?lang=$2 last;
}
location ^~ /share/ {
    rewrite ^/share/(.*)$ /data/public/$1 last;
}

の PHP ファイルは、.php 末尾を必要とせずに/data/public提供されるようになりました。 eg の形式のファイルが に書き換えられています。/share
/data/share/XYZ123-en/data/share/XYZ-123.php?lang=en

于 2014-04-23T14:59:56.707 に答える