白日梦观察 - apache
type: channel
link: https://blog.angustar.com/tag/apache/
items: WordPress 从 Apache 切换到 Nginx 服务器时遇到的小问题

WordPress 从 Apache 切换到 Nginx 服务器时遇到的小问题
type: item
date: 2020-03-29T01:09:00+08:00
description: 最近将本站的 Web 服务器从 Apache 切换到了 Nginx ，遇到了一个关于伪静态的小问题。 对于 WordPress 站点来说，固定链接主要是通过根目录下的.htaccess文件来控制，切换服务器后，Nginx 的 rewrite 格式和 Apache 的不同，需要修改。 [scode type="yellow"]目前本站已经从 WordPress 迁移至 Typecho。[/scode] 这是 Apache 下的伪静态： # BEGIN WordPress # 在`BEGIN WordPress`与`END WordPress`之间的指令（行）是 # 动态生成的，只应被WordPress过滤器修改。 # 任何对标记之间的指令的修改都会被覆盖。 RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress 本来准备使用宝塔的转换工具来转换成 Nginx 格式的伪静态，但无奈我转换过后出现了问题，访问xxx.com/wp-admin/不能进入后台，而必须使用xxx.com/wp-admin/index.php才能进入，这让我很苦恼，强迫症真的受不了啊哈哈哈哈🤣 经过查询，借鉴了其他 WordPress 站点的伪静态文件，居然成功解决了，不过还是不知道原因，先记录下来吧。 location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent;