Answers:
与mod_rewrite中的对应语法相比,nginx重写语法要干净得多:
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/网址:
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 DOES支持通过“ include”指令在许多文件中进行配置。基本上,它会加载一个子配置并将其放置到位。它还支持小丑字符,因此轻松加载其中的许多字符。
唯一的限制(在我看来)是更改配置后需要重新加载。因此,拥有一部分配置的任何用户可能都需要权限来重新加载nginx config:
/etc/ini.d/nginx强制重新加载(在centos上)
我真的不知道是否有办法避免这种情况或以不同的方式进行操作,因为我在拥有很多应用程序(虚拟主机)的许多服务器上使用了NGINX,这些服务器都是我自己的。这意味着NGINX在共享主机上不是理想的选择。
不过,我真的很喜欢NGINX,因为配置比讨厌的XML文件清晰得多。我猜味道的问题。如果您的情况很重要,那么另一个好处显然是速度。
祝你好运