这是一个非常简单的问题,但是它完全迷惑了我。
我已经将 nginx 设置为 Apache 的代理,目前它仅设置为允许通过 Apache 发送某些文件的请求,配置行如下。我遇到的问题是,我还需要它发送 .htaccess,但我尝试过的所有更改都失败了!可能之前有人这样做过,这是一个非常标准的设置。
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {root /var/www;}
我会将它们硬编码到 nginx.conf 中,但是有一个很多重写。让 Apache 处理它们要容易得多。
提前致谢!
答案1
通过“.htaccess 请求”和“发送 .htaccess”,你似乎暗示 Web 浏览器应该请求 .htaccess 文件,Web 服务器应该提供它。这实际上不是现在应该的工作方式,它离我太远了,我肯定我误解了。
.htaccess 的实际用途是根据文件所在的文件夹为 apache 提供特定选项;浏览器向 nginx 请求某些内容,nginx 将请求传递给 apache,apache 读取 .htaccess 文件并运行其中的任何命令,然后 apache 读取所请求的文件并将其返回给用户。
后者是标准设置,所以也许这就是你的意思?如果后者是你想要的,请确保当你直接访问 apache 时 .htaccess / apache 设置在运行;如果没有,请在前面添加 nginx 之前先让它在那里运行。如果它只与 apache 一起工作,那么检查 nginx 访问和错误日志以查看它转发了哪些请求。