centos

如何在CentOS中提升Apache2的SEO效果

小樊
33
2025-12-27 07:23:36
栏目: 智能运维

CentOS 上提升 Apache2 的 SEO 效果

一 基础与性能优化

二 URL 与站点结构优化

三 安全与可抓取性头信息

四 验证与监控

五 可直接使用的配置片段

<VirtualHost *:80>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com

    RewriteEngine On
    # 非 www → www
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R=301,L]
    # HTTP → HTTPS
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile    /etc/letsencrypt/live/yourdomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem

    Protocols h2 http/1.1

    # Gzip 压缩
    <IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css \
            application/javascript application/json application/xml application/rss+xml \
            image/svg+xml image/x-icon font/woff2 font/woff font/ttf
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|pdf|zip|gz|bz2)$ no-gzip dont-vary
        DeflateCompressionLevel 6
    </IfModule>

    # 浏览器缓存
    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresByType text/css "access plus 1 year"
        ExpiresByType application/javascript "access plus 1 year"
        ExpiresByType image/jpeg "access plus 1 year"
        ExpiresByType image/png "access plus 1 year"
        ExpiresByType image/gif "access plus 1 year"
        ExpiresByType image/svg+xml "access plus 1 year"
        ExpiresByType font/woff2 "access plus 1 year"
        ExpiresByType font/woff "access plus 1 year"
        ExpiresByType font/ttf "access plus 1 year"
        ExpiresByType text/html "access plus 1 hour"
    </IfModule>

    # 安全与可抓取性头
    <IfModule mod_headers.c>
        Header set X-Content-Type-Options "nosniff"
        Header set X-Frame-Options "SAMEORIGIN"
        Header set X-XSS-Protection "1; mode=block"
        # 可选:按站点策略调整
        Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:"
        Header set Referrer-Policy "strict-origin-when-cross-origin"
    </IfModule>

    # 前端控制器(单入口)
    <Directory /var/www/html>
        AllowOverride All
        Require all granted
    </Directory>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php [L]
</VirtualHost>

0
看了该问题的人还看了