我想知道为什么以前没有问过这个问题:我想让用户自己编写重写规则但不要编辑他的配置文件。
/etc/nginx/sites-enabled/example.com:此文件(或此文件的原始文件是网站可用的符号链接......)只能写入root用户。
对于apache2,我们可以给他一种编写自己的重写规则,其他expires配置等的方法,而无需在/ etc中编辑配置文件。假设它是托管服务提供商,用户甚至无法访问/ etc目录......
答案 0 :(得分:1)
整个.htaccess
概念未在nginx中实现,这是nginx更快的原因之一,
因为例如我们在/var/www/site/folder1/folder2/file.php
内有文件,服务器需要在.htaccess
和folder2
以及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。