Nginx目录美化

 在nginx的配置文件中加入以下内容(建议加在网站配置文件中)

autoindex on;               #开启目录浏览功能;
autoindex_exact_size off;   #关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;
autoindex_localtime on;     #开启以服务器本地时区显示文件修改日期!
autoindex_format html;      #设置列表页以html形式展示,还可使用有xml,json,jsonp
charset utf-8,gbk;          #设置页面编码

location / {
    #跨域设置
    add_header Access-Control-Allow-Origin "*";
    add_header Access-Control-Allow-Methods "GET,POST,PUT,DELETE,OPTIONS";
    add_header Access-Control-Allow-Headers "*";
    add_header Access-Control-Allow-Credentials true;
    #以上几行设置跨域与目录美化无关
    add_after_body /.Nginx/footer.html; #.Nginx这个路径自定义的
}

footer.html

<!-- add_after_body默认影响所有html文件,访问所有html页面都会追加这个footer.html -->
<script type="text/javascript">
    //增加一个判断,判断是不是在目录列表中,如果不是目录不加载js文件。可以自己用其他方式判断
    if(document.getElementsByTagName("title")[0].innerText.substring(0,8)=="Index of"){
        var oHead = document.getElementsByTagName('head')[0]; // 在head标签中创建创建script

        var oScript = document.createElement("script");
        oScript.type = "text/javascript";
        oScript.src = "/.Nginx/jquery-1.12.4.min.js";

        var oLink = document.createElement("link");
        oLink.rel = "stylesheet";
        oLink.type = "text/css";
        oLink.href = "/.Nginx/nginx.css";

        oHead.appendChild(oLink);
        oHead.appendChild(oScript);
    }
</script>

nginx.css

    .header {background:#123456;color:#FFFFFF;line-height:3em;padding-left: 15px;font-size:20px;font-weight: bold;}
    .footer {background:#123456;color:#FFFFFF;font-size:12px;text-align: right;padding: 5px 20px 5px 5px;line-height:1.5em;}

    table {width:100%}
    table.title tr td{text-align:center;}
    table td:nth-child(1){width:50%;}
    table td:nth-child(2){width:30%;}
    table td:nth-child(3){width:20%;}

    table.data td{font-size: 17px;line-height:1.5em;}
    table.data td:nth-child(1){padding-left: 10px;}
    table.data td:nth-child(2){text-align:center;}
    table.data td:nth-child(3){text-align:right;padding-right: 20px;}

jquery-1.12.4.min.js中追加下面内容,可以根据自己需要编写

https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js

$(function($) {
    $("h1").hide();

    var reg1 = /\s{2,}/g;
    var reg2 = /<a/g;
    var reg3 = /\r\n/g;
    var data = $("pre").html();

    data = data.replace(reg2,"<tr><td><a").replace(reg1,"</td><td>").replace(reg3,"</td></tr>");
    $("pre").html('<table class="data">'+data+'</table>');

    $('hr:eq(0)').before('<div class="header">9Hours Sdudio</div><table class="title"><tr><td>Name</td><td>Last modified</td><td>Size</td></tr></table>');
    $('hr:eq(1)').after('<div class="footer"></div>');

    $.ajax({
        type: "get",
        url: "/.Nginx/server_info.php",
        dataType: "json",
        success: function(data){
            $('.footer').html("目录:"+data.ROOT+"<br>服务器:"+data.SOFTWARE+"<br>客户端:"+data.AGENT);
        }
    });
});

 server_info.php内容

<?php
    $arr=array(
                "SOFTWARE" => $_SERVER["SERVER_SOFTWARE"],
                "AGENT" => $_SERVER["HTTP_USER_AGENT"],
                "ROOT" => $_SERVER["DOCUMENT_ROOT"]
            );
    echo json_encode($arr);
?>

美化后的样子

要将nginx文件目录美化,可以按照以下简单方法进行操作: 1. 使用自定义样式:通过修改nginx配置文件,可以为文件目录添加自定义的CSS样式。在配置文件中找到对应的location段落,并添加以下指令: ``` location / { autoindex on; autoindex_format html; autoindex_exact_size off; autoindex_localtime on; fancyindex on; fancyindex_exact_size off; fancyindex_header "Welcome to My Server"; fancyindex_footer "Thank you for visiting"; fancyindex_ignore "README.md"; fancyindex_ignore "robots.txt"; fancyindex_ignore "favicon.ico"; fancyindex_ignore "*.php"; fancyindex_ignore "*.html"; fancyindex_ignore ".."; fancyindex_name_length 255; fancyindex_time_format "%Y-%m-%d %H:%M"; fancyindex_description_length 255; fancyindex_ignore_hidden on; fancyindex_ignore_file ".htaccess"; fancyindex_ignore_file "error_log"; fancyindex_ignore_file ".DS_Store"; fancyindex_footer_html "<p style='text-align: center;'>Powered by Nginx</p>"; fancyindex_css_href "/path/to/custom.css"; } ``` 在上述例子中,我们添加了一些配置项来控制目录的显示效果,比如自定义头部和底部的文字,忽略某些文件,设置文件名称长度等等。其中,fancyindex_css_href参数指定了CSS文件的路径。 2. 编写自定义的CSS样式表:创建一个新的CSS文件,用于定义想要的样式,比如更改颜色、字体、大小、边框等。然后将CSS文件上传至服务器指定的路径,确保在nginx配置文件中正确引用了该文件的路径。 3. 重新启动nginx服务:在完成以上步骤后,重新启动nginx服务,使配置文件生效。可以使用以下命令进行重启: ``` sudo systemctl restart nginx ``` 这样,nginx文件目录应该就会被美化并展示出自定义的样式了。可以根据需要进一步修改配置和样式,实现更加个性化的效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值