Nginx用户定义了重写规则

时间:2013-12-25 22:25:21

标签: nginx rewrite

我想知道为什么以前没有问过这个问题:我想让用户自己编写重写规则但不要编辑他的配置文件。

/etc/nginx/sites-enabled/example.com:此文件(或此文件的原始文件是网站可用的符号链接......)只能写入root用户。

对于apache2,我们可以给他一种编写自己的重写规则,其他expires配置等的方法,而无需在/ etc中编辑配置文件。假设它是托管服务提供商,用户甚至无法访问/ etc目录......

1 个答案:

答案 0 :(得分:1)

整个.htaccess概念未在nginx中实现,这是nginx更快的原因之一,

因为例如我们在/var/www/site/folder1/folder2/file.php内有文件,服务器需要在.htaccessfolder2以及folder1内查找site将覆盖它上面的那个,每个请求的开销。

你可以实现某种类似的东西的唯一方法是在配置文件中添加一个include从某个位置读取

server {
   # bla bla
   include /var/www/site1/config.conf;
   location bla {
       # bla bla
   }
}

配置文件将包含服务器级指令

或者您可以跳过服务器块并包含文件,这些文件应包含服务器块,但这并不好,因为您可以访问整个服务器,而不仅仅是他们的服务器。例如:

# /etc/nginx/sites-enabled/site-name
include /var/www/site1/site.conf
include /var/www/site2/site.conf
# etc

基本上,我的建议是,如果你真的需要这个功能,请安装apache,也许只需使用nginx服务器资产和代理apache。