【问题标题】:.htaccess redirect css to php.htaccess 将 css 重定向到 php
【发布时间】:2014-01-12 04:13:00
【问题描述】:

我在一个目录中有多个 css 文件(style0.css、style1.css 等)。如何使用 htaccess 将请求重定向到这些 css 文件,以便 php 可以处理请求的 css 文件。 前任。 /styles/style0.css -> /includes/compressor.php?i=style0.css?

【问题讨论】:

    标签: php css .htaccess redirect


    【解决方案1】:

    使用这两行将 .htaccess 添加到您的 css 目录。您现在可以将 php 代码添加到您的 css 文件中,它将被处理:

    AddHandler application/x-httpd-php .css
    
    php_value default_mimetype "text/css"
    

    【讨论】:

    • 如果可能,最好使用重写,因为 .css 文件应该包含 CSS,而不是 PHP。编辑在语义上不正确且烦人,因为您的编辑器会尝试将文件解析为 CSS 并失败。
    • 我以下列方式使用它:我的 css 是 singleSheet.css?sheets[]=main.css&sheets[]=rest.css 这允许我拥有一张内置服务器端(没有@includes)
    • 我认为这也是一个好主意,我将来可能会使用它,所以 +1,但是因为我只想用 php 和类似的东西压缩 css 文件,所以我必须复制我所有的 css 文件都使用相同的代码,如果我想更改某些内容,我必须编辑所有这些文件。
    【解决方案2】:
    RewriteEngine On
    RewriteRule ^(.*).css$ /includes/compressor.php?i=$1.css [L]
    

    这些 .htAccess 命令激活 RewriteEngine。这将让您分析请求 URL 并在服务器中执行您想要的 URL。第二行采用所有以 .css 结尾的 URL,并将文件名作为参数插入(就像您在示例中想要的那样)。

    例如:

    http://localhost/styles/style1.css会去

    http://localhost/includes/compressor.php?i=style1.css

    L 标志将告诉 Apache 停止处理该请求的重写规则。

    【讨论】:

    • 你能解释一下吗? [L] 是做什么的?
    • L 标志将告诉 Apache 停止处理该请求的重写规则。
    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2013-02-16
    • 2013-09-12
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    相关资源
    最近更新 更多