Apache-2.2
nginx 支持 .htaccess / 重寫規則?與阿帕奇的區別?
我已經使用 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; }