问题描述
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.
解决办法
- 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 而不是 <? php
总之要做的是:找出不该存在的空格或空行,删除之即可。