回答:
nginxの書き換え構文はmod_rewriteの対応するものよりもずっときれいです。
mod_rewriteルール:
RewriteRule ^[a-z0-9_-]*-f([0-9]+)/?(p([0-9]+)\.html)?$ /viewforum.php?f=$1&start=$3 [QSA,L,NC]
nginxになります:
rewrite ^/[a-z0-9_-]*-f([0-9]+)/?(p([0-9]+)\.html)?$ /viewforum.php?f=$1&start=$3 last;
しかし、.htaccessのサポートはありません...
編集:http: //example.com/~username/ urlsをnginxでサポートする別の例:
location ~ /~([a-zA-Z0-9]*)/(.*) {
root /home/;
autoindex on;
index index.html;
rewrite ^/~([a-zA-Z0-9]*)/(.*)$ /$1/www/$2 break;
}
nginxは書き換え機能を提供します。NginxHttpRewriteModuleを確認してください
.htaccessで何をしたいですか?NginxHttpAuthBasicModuleを使用して基本認証用にnginxをセットアップできますが、AFAIK構成ディレクティブはnginx.confにのみ保存できます
nginxにはmod_rewriteと同等の機能があり、ドキュメントはこちらにあります。私はnginxを使用していませんが、ドキュメントは設定が完全に異なっているように見えますが、それが何をしているのかを理解するのはそれほど難しくないはずです。wikiには多くの例があるようです。
Apacheでできるように、ディレクトリごとの構成ファイルを持つことができる場合は答えられません。apacheを使用することでそれを期待するようになったので、できれば私は驚かないでしょう。
NGINXは、 'include'ディレクティブを介して多くのファイルに設定を持つことをサポートします。基本的に、サブ構成をロードして所定の場所に配置します。また、ジョーカーキャラクターもサポートしているため、それらの多くを一度に簡単に読み込むことができます。
(私の意見では)唯一の制限は、構成が変更されたときにリロードする必要があるということです。そのため、一部の構成を持つユーザーには、nginx configを再ロードする権限が必要になる場合があります。
/etc/ini.d/nginx force-reload(centosで)
私自身のアプリ(仮想ホスト)がたくさんある多くのサーバーでNGINXを使用しているため、それを回避する方法があるのか、それとも違うやり方をする方法があるのか、私には本当にわかりません。これは、NGINXが共有ホスティングでは理想的ではないことを意味します。
それにも関わらず、設定は厄介なXMLファイルよりもずっと読みやすいので、NGINXが大好きです。味の質問だと思います。それがあなたの場合に重要な場合、他の良い点は明らかに速度です。
がんばろう