首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Magento 2 on Mgt Development Environment Nginx conf未重写静态urls以删除版本字符串

在Magento 2中,如果你想在Mgt Development Environment(MDE)中配置Nginx以删除静态URL中的版本字符串,你需要修改Nginx的配置文件。以下是一个示例配置,展示了如何重写静态URL以删除版本字符串:

步骤 1: 备份原始配置文件

在进行任何更改之前,请确保备份原始的Nginx配置文件。

代码语言:javascript
复制
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak

步骤 2: 修改Nginx配置文件

编辑Nginx配置文件 /etc/nginx/sites-available/default,添加以下重写规则:

代码语言:javascript
复制
server {
    listen 80;
    server_name yourdomain.com;

    root /path/to/your/magento2;

    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ ^/(pub|static|generated|var)/ {
        expires max;
        add_header Cache-Control "public";
        try_files $uri $uri/ @rewrite;
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php/$1 last;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

关键点解释

  1. 重写规则:
    • location ~ ^/(pub|static|generated|var)/: 这个块处理静态资源的请求。
    • expires max;add_header Cache-Control "public";: 设置缓存头以提高性能。
    • try_files $uri $uri/ @rewrite;: 尝试直接提供文件,如果不存在则重写到index.php
  2. 重写目标:
    • location @rewrite: 这个块定义了重写的目标。rewrite ^/(.*)$ /index.php/$1 last; 将所有请求重写到index.php,从而绕过版本字符串。

步骤 3: 测试配置并重启Nginx

在应用更改之前,测试Nginx配置是否正确:

代码语言:javascript
复制
sudo nginx -t

如果没有错误,重启Nginx服务:

代码语言:javascript
复制
sudo systemctl restart nginx

验证

打开浏览器,访问你的Magento网站,并检查静态资源URL是否已删除版本字符串。你可以通过浏览器的开发者工具(F12)查看网络请求来验证。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券