1

このディレクティブのブロックを Nginx インストールに追加しました

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    # With php5-cgi alone:
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    # With php5-fpm:
    include fastcgi.conf;
    fastcgi_index index.php;
}

http://myserverip/script.phpに連絡すると、すべてうまくいきます。書き換えエンジンを使用していくつかの URL を書き換える必要があります。このディレクティブのブロックの後に、次のような他の多くのブロックを追加しました。

location = /sentmessages {
    rewrite ^(.*)$ /sent_messages.php break;
}

(私は .htaccess ルールに winginx コンバーターを使用しました)

http://myserverip/sentmessagesに連絡すると、書き換えはうまくいきますが、FastCGI に渡される代わりに PHP スクリプトがダウンロードされます。これを修正する方法がわかりません(ディレクティブの順序を変更しようとしましたが、成功しませんでした。)

直し方?ありがとう。

4

1 に答える 1

0

Stackoverflow を検索した後の解決策は、書き換えルールの最後に「最後」を使用することでした。

location = /sentmessages {
    rewrite ^(.*)$ /sent_messages.php last;
}
于 2015-06-17T18:46:02.427 に答える