gpt4 book ai didi

apache - 如何在 Nginx 上编辑 'Index of etc' 页面并让它们响应?

转载 作者:行者123 更新时间:2023-12-04 18:38:05 26 4
gpt4 key购买 nike

我正在使用 Ubuntu Natty 12,我正在使用 NGINX。 (这些天考虑臃肿的 Apache 会很疯狂)

我想要做的是编辑默认的索引页面模板并为它们添加一些 Meta ViewPorts 和样式。我知道 Apache 有 IndexHeadInsert :

# META VIEWPORT
IndexHeadInsert "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"

示例将是:

http://nginx.org/download/

http://bluu.co.uk/fonts/

https://archive.apache.org/dist/ant/binaries/

有人知道从哪里开始 NGINX 吗?

最佳答案

Nginx 有 sub用于替换部分答案的模块。
http://nginx.org/en/docs/http/ngx_http_sub_module.html
它适用于所有答案,包括自动索引。只需检查您的 nginx 是否有此模块(类型 nginx -V ),可能您需要 nginx-full包裹。

location / {
autoindex on;
sub_filter_once on;
sub_filter <head><title> "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>";
}

如果您只需要对一个位置(例如/download/)进行此替换,只需将其放在位置 block 中即可。
location = /download/ {
autoindex on;
sub_filter_once on;
sub_filter <head><title> "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>";
}
=这里只匹配/download/,但不匹配/download/file...

如果您有很多位置并希望将规则保留在一个位置,您可以尝试将 403 错误重定向到指定位置
location @subfilter {
autoindex on;
sub_filter <head><title> "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>";
}

location = /files/ {
error_page 403 =200 @subfilter;
}

location = /download/ {
error_page 403 =200 @subfilter;
}

但是子模块仍然很弱,因为您可以使用 只有一个 sub_filter 指令 =( 可以通过对自己的代理请求进行破解,但这是不好的解决方案。最好使用 3rd 方模块 https://github.com/yaoweibin/ngx_http_substitutions_filter_module

html5,都一样: sub_filter "<html>\r\n<head><title>" "<!DOCTYPE html>\r\n<html>\r\n<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>";

关于apache - 如何在 Nginx 上编辑 'Index of etc' 页面并让它们响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27344642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com