Apache-2.2

nginx 支持 .htaccess / 重寫規則?與阿帕奇的區別?

  • June 1, 2010

我已經使用 Apache http 伺服器已經有一段時間了,最終與其他動態內容機器一起遷移到靜態內容伺服器。

我想知道,nginx 是否支持“.htaccess”文件,以及諸如 mod_rewrite 之類的東西?

由於我非常習慣於語法,我想知道(語法)差異是什麼,以及從 Apache 配置遷移到 nginx 的學習曲線是什麼樣的。

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 支持…

編輯:另一個如何在 nginx 中支持http://example.com/~username/ urls 的例子:

location ~ /~([a-zA-Z0-9]*)/(.*) {
   root /home/;
   autoindex on;
   index index.html;
   rewrite ^/~([a-zA-Z0-9]*)/(.*)$ /$1/www/$2 break;
}

引用自:https://serverfault.com/questions/24243