まず、nginx の仮想ホスト構成を編集し、fastcgi の location ステートメントの前に次の内容を追加します。
1.単一ディレクトリからPHP実行権限を削除します場所 ~ /attachments/.*.(php|php5)?$ {
すべてを否定します;
}
添付ファイルディレクトリからPHPの実行権限を削除します。
2. 複数のディレクトリからPHPの実行権限を削除します
場所 ~ /(attachments|upload)/.*.(php|php5)?$ {
すべてを否定します;
}
添付ファイルとアップロードディレクトリからPHPの実行権限を削除します。
参考のために完全な仮想ホストの例を添付します:
サーバー
{
聞いてください80;
サーバー名 www.45it.com;
indexindex.htmlindex.htmindex.php;
root /home/wwwroot/bbs.vpser.net;discuz.conf を含める;
場所 ~ /(attachments|upload)/.*.(php|php5)?$ {
すべてを否定します;
}
場所 ~ .*.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_indexindex.php;
fcgi.confを含める;
}
access_log off;
}
追加後、/usr/local/nginx/sbin/nginx -t を実行して設定ファイルをテストし、/usr/local/nginx/sbin/nginx -s reload を実行して設定ファイルをロードして有効にします。
注: 順序に注意して、「location ~ .*.(php|php5)?$」という行より上に配置する必要があります。そうしないと有効になりません。