Nginx 是一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。伪静态(pseudo-static)是一种技术,它将动态网页通过 URL 重写的方式伪装成静态网页,以提高网站的 SEO 效果和访问速度。
Nginx 支持多种伪静态规则,常见的有:
rewrite
指令。location
块的重写规则:结合 location
和 rewrite
指令。伪静态常用于以下场景:
假设我们有一个动态网页 example.com/index.php?id=123
,我们希望将其重写为静态 URL example.com/article/123
。
server {
listen 80;
server_name example.com;
location /article {
rewrite ^/article/([0-9]+)/$ /index.php?id=$1 last;
}
location / {
root /var/www/html;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
原因:
rewrite
指令中的正则表达式是否正确。location
块的顺序可能会影响规则的匹配。解决方法:
location
块顺序:确保更具体的 location
块放在前面。通过以上配置和调试,可以有效地实现 Nginx 的伪静态功能,提升网站的性能和 SEO 效果。
领取专属 10元无门槛券
手把手带您无忧上云