解决wordpress网站页面打不开404问题以及XML sitemap无法打开问题


问题描述

1.用宝塔面板建站用的是Nginx环境,天真的我还想换成Apache,结果。。。

404 Not Found
nginx

2.用SEO插件打开生成的sitemap XML 出现这样的情况,不管怎么换插件还是这样

This page contains the following errors:
error on line 3 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.

解决办法

  1. Nginx环境如何配置WordPress伪静态规则问题,由于我是宝塔面板就直接在站点修改上进行伪静态修改

location ~ .*\.(ini|zip|7z|rar|tar|gz|sql|conf|bak|asp|aspx|jsp)?$ { deny all; }
location = /wp-admin/install.php { deny all; }
location = /wp-config.php { deny all; }
# END 保护敏感文件

location = /favicon.ico {
	log_not_found off;
	access_log off;
}

location = /robots.txt {
	allow all;
	log_not_found off;
	access_log off;
}

# WordPress伪静态
location / {
	# BEGIN 安全标头
	add_header X-Content-Type-Options nosniff;
	add_header X-Frame-Options SAMEORIGIN;
	add_header X-XSS-Protection "1; mode=block";
	add_header Referrer-Policy "no-referrer-when-downgrade";
	# END 安全标头
	
	try_files $uri $uri/ /index.php?$args;
}

# 静态资源优化
location ~* \.(js|css|webp|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|mp4|mp3)$ {
	add_header X-Content-Type-Options nosniff;
	expires max;
	log_not_found off;
	access_log off;
}

这样就成了,得感谢大佬得方法

2.经过查找多次实践,出现该问题的原因是代码书写不规范:某些php文件 后有空格或空行。

如果自己修改过主题的可能会在复制人家代码的时候导致 后有空格或空行

还有要注意的其他“空格”的地方:

是PHP的默认语法,而则是短标记方法,需要在php.ini中开启short_open_tag指令的。
<?后面紧跟着php,之间没有空格;是<?php 而不是 <? php

总之要做的是:找出不该存在的空格或空行,删除之即可。

GitHub也有这样得讨论


文章作者: jacktang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 jacktang !
评论
评论
  目录