8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

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

tmdavison 2月前

106 0

我目前正在将我的网站从 Apache 迁移到 nginx,但我的 .htaccess 文件不起作用。我的网站位于 /usr/share/nginx/html/mywebsite 文件夹中。如何在我的 nginx 中使用 .htaccess...

我目前正在将我的网站从 Apache 迁移到 nginx ,但我的 .htaccess 文件无法正常工作。我的网站位于 /usr/share/nginx/html/mywebsite 文件夹中。我如何 .htaccess 在我的 nginx 服务器中使用?

这是我的 .htaccess 文件:

RewriteEngine on
RewriteRule video/watch/([a-zA-Z0-9_@$*-]+)/?$ "videos-single.php?id=$1" [NC]
帖子版权声明 1、本帖标题:如何在 Nginx 中使用 .htaccess 文件?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由tmdavison在本站《codeigniter》版块原创发布, 转载请注明出处!
最新回复 (0)
  • Nginx 不支持 .htaccess (参见 此处 : \'你不能这样做。你不应该。如果你需要 .htaccess,你可能做错了。\' )。

    你有两个选择(据我所知):

  • 我认为 /etc/nginx/nginx.conf - 请参阅 nginx 包的文件列表。

  • 如果您使用的是共享服务器怎么办?您无权访问 /etc/nginx,那么您的子域名所在的文件夹是否有类似于 .htaccess 的配置文件?

  • @NaturalBornCamper 我认为你会有自己的网站配置文件,你可以联系你的托管服务提供商,或者如果你自己管理它,你可以只为你网站的域名指定配置

  • 披露:我是 nginx 的 htaccess 的作者,它现在是开源软件。

    过去几年,我创建了一个 插件,将 htaccess 行为实现到 nginx 中 ,尤其是像 RewriteRule , Allow 和 这样的 Deny ,这对于网络安全至关重要。这个插件在我的生产环境中使用没有问题。

    我完全同意 nginx 的效率和速度,以及他们为什么不实现 htaccess。但是,想想看。如果您使用 nginx 和 htaccess,情况就不会变得更糟。您仍然可以保持 nginx 的出色性能,而且您可以在一个 Web 服务器上轻松驱动您的旧设备。

  • 您能否检查此错误:“无法加载外部 Lua 文件 \'/etc/nginx/htaccess-for-nginx/htaccess-1.2.1-bytecode.lua\':/etc/nginx/htaccess-for-nginx/htaccess-1.2.1-bytecode.lua:无法加载不兼容的字节码\”。它导致 Nginx 响应 500 错误

  • 我决定将我的代码作为开源项目发布:github.com/e404/htaccess-for-nginx 非常欢迎拉取请求。

  • 离题了,但这是令人讨厌的事情。这是“披露”而不是“免责声明”。你披露的是你是作者。

  • @liamvictor 请参阅有关 EL&U 和 ELL 的这些问题。

  • 引用 11

    nginx 不正式支持此功能。如果您需要此功能,则需要使用 Apache 或其他支持此功能的 http 服务器。

    话虽如此, nginx 的官方推理 是有缺陷的,因为它将用户想要做的事情与它完成的方式混为一谈。例如,nginx 可以轻松地每 10 秒/分钟左右检查一次目录,或者它可以使用 inotify 和类似的机制。这将避免在每次请求时都检查它……但知道这一点对你没有帮助。:)

    您可以通过编写一个脚本来解决此限制,该脚本将等待 nginx 配置文件出现,然后将其复制到 /etc/nginx/conf.d/ 。但是,这可能会带来一些安全隐患 - 因为 nginx 本身不支持 .htaccess ,也不支持限制配置文件中允许的配置指令。YMMV。

  • 我并不反对扫描文件是无用资源的这种说法,但绝对不需要那么极端。它可以只在根目录中查找最终用户定义的额外配置文件。它需要成为自己的新配置文件块(DirectoryOverride?)并通过查看文件修改时间在内存中重新加载 nginx 配置文件。1) 它甚至不需要在每次请求时执行;2) 它允许对最终用户配置文件进行预验证和缓存;3) 它仍然允许最终用户使用位置块来保护目录并添加重写。

返回
作者最近主题: