网站从Apache服务器迁移到Nginx后Permalinks无法正常工作求助
解决Apache迁移Nginx后Permalinks失效问题
Nginx不支持Apache的.htaccess文件,所以你需要把WordPress的Permalink规则转换成Nginx的配置规则,步骤如下:
- 找到你的Nginx站点配置文件,通常位于
/etc/nginx/sites-available/或/etc/nginx/conf.d/目录下,文件名类似your-domain.conf。 - 打开配置文件,在
server块内添加以下重写规则:
location / { try_files $uri $uri/ /index.php?$args; } # 可选:添加静态资源缓存规则,提升加载速度 location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { expires 30d; add_header Cache-Control "public, immutable"; } # 禁止访问敏感文件 location ~ /\.ht { deny all; }
- 验证配置文件语法是否正确:
sudo nginx -t
- 如果验证通过,重启Nginx服务:
sudo systemctl restart nginx
- 回到WordPress后台,重新保存一次Permalinks设置(无需修改现有结构,直接点击保存即可)。
额外注意:
- 确保Nginx运行用户(默认是
www-data)拥有网站根目录的读写权限,避免静态资源或动态请求出现权限问题。 - 无论你使用哪种Permalink结构(如文章名称、自定义结构),上述
try_files规则都能适配,因为所有非静态文件的请求都会转发到index.php处理。
内容的提问来源于stack exchange,提问作者tomasspvarela
相关产品推荐
相关产品推荐

