在Magento 2中,如果你想在Mgt Development Environment(MDE)中配置Nginx以删除静态URL中的版本字符串,你需要修改Nginx的配置文件。以下是一个示例配置,展示了如何重写静态URL以删除版本字符串:
在进行任何更改之前,请确保备份原始的Nginx配置文件。
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
编辑Nginx配置文件 /etc/nginx/sites-available/default
,添加以下重写规则:
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;
}
}
location ~ ^/(pub|static|generated|var)/
: 这个块处理静态资源的请求。expires max;
和 add_header Cache-Control "public";
: 设置缓存头以提高性能。try_files $uri $uri/ @rewrite;
: 尝试直接提供文件,如果不存在则重写到index.php
。location @rewrite
: 这个块定义了重写的目标。rewrite ^/(.*)$ /index.php/$1 last;
将所有请求重写到index.php
,从而绕过版本字符串。在应用更改之前,测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重启Nginx服务:
sudo systemctl restart nginx
打开浏览器,访问你的Magento网站,并检查静态资源URL是否已删除版本字符串。你可以通过浏览器的开发者工具(F12)查看网络请求来验证。
领取专属 10元无门槛券
手把手带您无忧上云