css - 无效命令 'text/css',可能拼写错误或由未包含在服务器配置中的模块定义

标签 css apache .htaccess text error-log

我们在 Linux 和 Apache 上运行 Laravel 5.4。 /var/log/httpd/error_log 中突然出现以下错误,而我们的 .htaccess 文件没有更改:

/var/www/html/public/.htaccess: Invalid command 'text/css', perhaps misspelled or defined by a module not included in the server configuration

整个 .htaccess 文件如下所示:

<IfModule mod_expires.c>

    ExpiresActive on
    ExpiresDefault                                      "access plus 1 month"

    # CSS
    ExpiresByType text/css                              "access plus 1 year"

    # Data interchange
    ExpiresByType application/json                      "access plus 0 seconds"
    ExpiresByType application/xml                       "access plus 0 seconds"
    ExpiresByType text/xml                              "access plus 0 seconds"

    # Favicon (cannot be renamed!)
    ExpiresByType image/x-icon                          "access plus 1 week"

    # HTML components (HTCs)
    ExpiresByType text/x-component                      "access plus 1 month"

    # HTML
    ExpiresByType text/html                             "access plus 0 seconds"

    # JavaScript
    ExpiresByType application/javascript                "access plus 1 year"
    ExpiresByType application/x-javascript              "access plus 1 year"

    # Manifest files
    ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
    ExpiresByType text/cache-manifest                   "access plus 0 seconds"

    # Media
    ExpiresByType audio/ogg                             "access plus 1 month"
    ExpiresByType image/gif                             "access plus 1 month"
    ExpiresByType image/jpeg                            "access plus 1 month"
    ExpiresByType image/png                             "access plus 1 month"
    ExpiresByType video/mp4                             "access plus 1 month"
    ExpiresByType video/ogg                             "access plus 1 month"
    ExpiresByType video/webm                            "access plus 1 month"

    # Web feeds
    ExpiresByType application/atom+xml                  "access plus 1 hour"
    ExpiresByType application/rss+xml                   "access plus 1 hour"

    # Web fonts
    ExpiresByType application/font-woff2                "access plus 1 month"
    ExpiresByType application/font-woff                 "access plus 1 month"
    ExpiresByType application/vnd.ms-fontobject         "access plus 1 month"
    ExpiresByType application/x-font-ttf                "access plus 1 month"
    ExpiresByType font/opentype                         "access plus 1 month"
    ExpiresByType image/svg+xml                         "access plus 1 month"

</IfModule>

<IfModule mod_rewrite.c>

    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Force traffic through https
    # RewriteCond %{HTTPS} on

    # Redirect non-www urls to www
    # Force through www for SSL certificate coverage (except IP)
    RewriteCond %{HTTP_HOST} !^[0-9]+\.
    RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # End of Apache Rewrite Rules

</IfModule>

# BEGIN Compression
<IfModule mod_filter.c>

    AddOutputFilterByType DEFLATE application/atom+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/json
    AddOutputFilterByType DEFLATE application/ld+json
    AddOutputFilterByType DEFLATE application/manifest+json
    AddOutputFilterByType DEFLATE application/rdf+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/schema+json
    AddOutputFilterByType DEFLATE application/vnd.geo+json
    AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
    AddOutputFilterByType DEFLATE application/x-font-ttf
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE application/x-web-app-manifest+json
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE font/eot
    AddOutputFilterByType DEFLATE font/opentype
    AddOutputFilterByType DEFLATE image/bmp
    AddOutputFilterByType DEFLATE image/svg+xml
    AddOutputFilterByType DEFLATE image/vnd.microsoft.icon
    AddOutputFilterByType DEFLATE image/x-icon
    AddOutputFilterByType DEFLATE text/cache-manifest
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/vcard
    AddOutputFilterByType DEFLATE text/vnd.rim.location.xloc
    AddOutputFilterByType DEFLATE text/vtt
    AddOutputFilterByType DEFLATE text/x-component
    AddOutputFilterByType DEFLATE text/x-cross-domain-policy
    AddOutputFilterByType DEFLATE text/xml

</IfModule>
# END of Compression

最佳答案

我今天在设置新的开发环境时也遇到了这个错误。在尝试了所有我能找到的方法之后,我终于偶然发现了一篇文章,指出过滤器 block 中的行太多。来自文章:

症状

网站无法打开显示 500 类型错误。

在/var/www/vhosts/example.com/logs/error_log文件中有类似这样的记录:

[core:alert]/var/www/vhosts/example.com/httpdocs/.htaccess: 无效命令 'text/css',可能拼写错误或由未包含在服务器配置中的模块定义

原因

.htaccess 文件中 AddOutputFilterByType 表达式的声明太长。

有关其他信息,请参阅以下资源:

https://github.com/ezekg/theme-juice-vm/issues/4 http://mail.blueonyx.it/pipermail/blueonyx/2010-April/004320.html

分辨率

修改该部分,使其看起来类似于:

<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE "application/atom+xml" "application/javascript" "application/json" "application/ld+json" "application/manifest+json" "application/rdf+xml" "application/rss+xml" "application/schema+json" "application/vnd.geo+json" "application/vnd.ms-fontobject" "application/x-font-ttf" "application/x-javascript" "application/x-web-app-manifest+json" "application/xhtml+xml" "application/xml" "font/eot" "font/opentype" "image/bmp" "image/svg+xml" "image/vnd.microsoft.icon" "image/x-icon" "text/cache-manifest" "text/css" "text/html" "text/javascript" "text/plain" "text/vcard" "text/vnd.rim.location.xloc" "text/vtt" "text/x-component" "text/x-cross-domain-policy" "text/xml"
</IfModule>

它在我的案例中起作用。

关于css - 无效命令 'text/css',可能拼写错误或由未包含在服务器配置中的模块定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44547895/

相关文章:

javascript - .htaccess RewriteRule 在 javascript 中添加为非斜杠的多个参数

android - 设备横向 View 中的中心导航

具有 100% 溢出滚动的 HTML 表格,仅适用于表格

php - 我可以在使用 htaccess RewriteRule 时通过 URL 传递变量吗?

python - 在 OS X 上设置 Python Web 开发环境

apache - SSL 证书 - 页面不受信任的原因

php - 仅增加一个 PHP 页面的 Max_input_vars 限制

javascript - CSS 中的伪元素

javascript - 未点击时显示 div 元素的点击功能

php - .htaccess 结合 2 RewriteRule