首页 帮助中心 香港高防服务器 Nginx修改WordPress固定链接导致无法访问
Nginx修改WordPress固定链接导致无法访问
时间 : 2022-11-28 09:42:09 编辑 : 华纳云 阅读量 : 240

  这篇文章主要介绍了Nginx下修改WordPress固定链接导致无法访问的问题解决,同时作者也给出了官方关于修改固定链接的方法,需要的朋友可以参考下

  WordPress做seo的优化,会牵扯到永久链接,wordpress提供多种类型的链接形式

  1/%year%/%monthnum%/%day%/%postname%/

  2/%year%/%monthnum%/%postname%/

  3/%year%/%monthnum%/%day%/%postname%.html

  4/%year%/%monthnum%/%postname%.html

  5/%category%/%postname%.html

  6/%post_id%.html

  7/%postname%/

  这里选择了/%postname%.html,伪静态,虽然现在貌似没什么差别了,但还是该下吧。下面就出现了修改固定链接后,访问文章会出现404错误,以前我都是apache做web服务器,所以只要apache下就三个个关键,即:

  wordpress对目录下的.htaccess拥有读写权限

  固定链接的目录结构需要 Apache服务器的mod_rewrite模块支持,所以在Apache配置文件httpd.conf中将 LoadModule rewrite_module modules/mod_rewrite.so设置为启用。

  同样是Apache配置文件,其中对于站点目录下的AllowOverride None的参数设置为All。当然修改完配置后,一定要重启Apache服务。

  由于是新配置的本地测试环境,2、3两项问题同时出现,逐项更正设置后,固定链接的工作正常。

  现在我用的nginix,所以也要修改nginix的ngnix.conf配置文件,让其支持重定向

  假设我的wordpress博客是的 server{}段是直接放到放到了nginx.conf (有的人为了方便管理,都习惯在单独写个vhost/目录来存放每个网站的配置文件,这就要根据你自己的设置来添加了)

  代码如下:vi /your_nginx_path/conf/nginx.conf

  按照nginix的正则表达式的规则,可参考:Nginx 的中文维基

  ^:匹配输入字符的开始位置 $:匹配数日字符串的结束位置 +:匹配前面的子表达式一次或者多次 [0-9]:数字字符范围 $1:调用变量

  在server{} 字段 中的 “root /websit/wwwroot/;”(这行就是指定网站所在目录的) 这一行的下面 ,添加下面的内容:

  代码如下:

  if (-f $request_filename/index.html){

  rewrite (.*) $1/index.html break;

  }

  if (-f $request_filename/index.php){

  rewrite (.*) $1/index.php;

  }

  if (!-f $request_filename){

  rewrite (.*) /index.php;

  }

  rewrite /wp-admin$ $scheme://$host$uri/ permanent;//这行是为了防止打开后台、插件页等打不开的。

  保存后,输入 /etc/init.d/nginx restart , 重启nginix。就ok了!

  相当于告诉nginix访问这些后按照正则表达式转到其唯一正确的地址,以此打开文章。

华纳云 推荐文章
IIS环境使用appcmd批量搭建网站教程 IIS环境使用appcmd批量搭建网站教程 Windows系统日志有多少种登录类型? 服务器IIS应用程序池监控设置教程 CentOS系统挂载硬盘分区和格式化教程 云服务器远程连接mstsc和mstsc/admin有什么差别? 云服务器FTP配置教程 在 Ubuntu 中用 UFW 配置防火墙 Ubuntu上配置VTK开发环境——基于Visual Studio Code 与 GCC windows服务器上的iis Gzip压缩功能启用
客服咨询
7*24小时技术支持
技术支持
渠道支持