【问题标题】:minify - PHP - Minify::serve - HTTP/1.0 400 Bad Requestminify - PHP - Minify::serve - HTTP/1.0 400 错误请求
【发布时间】:2025-12-25 15:20:16
【问题描述】:

我使用此文档与 minify 合作:

http://code.google.com/p/minify/wiki/CustomServer

我有无法解决的问题:

<?php

    set_include_path('/srv/home/xyz/public_html/COMPONENTS/_php/minify/min/lib' . 
                PATH_SEPARATOR . get_include_path());
    require 'Minify.php';
    require 'Minify/Cache/File.php';
    Minify::setCache(new Minify_Cache_File()); 

    //no error - everything is ok... until now

    $options = array(
        'files'  => array('/srv/home/xyz/public_html/test1.js', 
                    '/srv/home/xyz/public_html/test2.js', $src),
        'maxAge' => 86400
    );
    Minify::serve('Files', $options);

    //--> HTTP/1.0 400 Bad Request



?>

我试过了:

    'files'  => array('test1.js', 'test2.js', $src),
    'files'  => array('//test1.js', '//test2.js', $src),
    'files'  => array('/srv/home/xyz/public_html/test1.js', 
                      '/srv/home/xyz/public_html/test2.js', $src),

我还将这些文件放在不同的地方,但没有得到肯定的结果。 问题是:发生了什么事?为什么有 HTTP 请求?

【问题讨论】:

    标签: php http request minify


    【解决方案1】:

    从数组中移除 $src 变量:

    <?php
    $options = array(
        'files'  => array('/srv/home/xyz/public_html/test1.js', 
                    '/srv/home/xyz/public_html/test2.js'),
        'maxAge' => 86400
    );
    ?>
    
    array('/srv/home/xyz/public_html/test1.js') // this path is absolute physical path
    array('//test1.js') // this path is a relative path from document root of the web-server
    

    HTTP 请求存在是因为您应该将脚本的链接插入到 html 文件中:

    <script type="text/javascript" src="/js/script.js.php" ></script>
    

    如果包含的文件之一不存在,服务器必须发送 404-response (NOT FOUND)

    【讨论】: