.htaccess 的 nginx 等价物是啥

Posted

技术标签:

【中文标题】.htaccess 的 nginx 等价物是啥【英文标题】:What is the nginx equivalent of .htaccess.htaccess 的 nginx 等价物是什么 【发布时间】:2015-12-08 01:02:23 【问题描述】:

我已经转移了仅支持 nginx 的虚拟主机。但我对此一无所知。只是想知道 nginx 的 .htaccess 等价物是什么。它的文件名应该是什么,应该保存在哪里。此外,如果您能帮助我将我网站上的所有请求重定向到 https://www,那将是锦上添花。

编辑:我在其他地方得到了答案,但不知道应该用什么名字保存它以及保存在哪里

【问题讨论】:

nginx 没有 htaccess。 wiki.nginx.org/LikeApache-htaccess 【参考方案1】:

由于 Nginx 没有等效的 .htaccess 文件(即没有目录级别的配置文件),您需要更新主配置并重新加载 nginx 以使任何更改生效。

上面的 Apache 配置本质上是“如果提供的路径不是现有文件或目录,则重定向到 index.php,附加路径”。

在 Nginx 中,您将使用 try_files 指令来完成同样的事情:

location / 
        try_files $uri $uri/ @ci_index;


location @ci_index
        rewrite ^(.*) /index.php?$1 last;

默认配置文件名为 nginx.conf 并放在目录 /usr/local/nginx/conf 、 /etc/nginx 或 /usr/local/etc/nginx 中

【讨论】:

这段代码去哪儿了?放置此指令的文件的名称和位置是什么? @RickP 默认情况下,配置文件名为 nginx.conf 并放置在目录 /usr/local/nginx/conf 、 /etc/nginx 或 /usr/local/etc/nginx 中。

以上是关于.htaccess 的 nginx 等价物是啥的主要内容,如果未能解决你的问题,请参考以下文章

RewriteRule ^(.*)/$ ?path=$1 [QSA,L] 在我的 .htaccess 中是啥意思?

htaccess - 从 url 中删除 .php 扩展名

kohana .htaccess 中的 AllowOverride ALL 是啥意思?

如何在 Nginx 中使用 .htaccess 文件?

.htaccess 中带有查询字符串的 301 的正确语法是啥? [关闭]

Flow 中星号 (*) 类型的用途是啥,TypeScript 中的等价物是啥?