十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、对于网站迁移最容易出现这个问题
创新互联建站专业为企业提供冀州网站建设、冀州做网站、冀州网站设计、冀州网站制作等企业网站建设、网页设计与制作、冀州企业网站模板建站服务,10年冀州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
如果你是对网站迁移如从一个服务器迁移到另一个服务器并且域名不同的话,而迁移完后,原来的服务器解析停止,那么这个问题的出现极大可能是你的网站域名及站点地址没有正确的修改导致的。或者从本地迁移到服务器也会出现这个问题。解决办法就是登录数据库,找到wp_options-option_name里,修改现在的域名即可。
二、过期的插件导致的
在wordpress插件库里,有很多不再更新的插件,随着wordpress版本的不断升级,很多插件都没有及时的跟进。从而导致wordpress后台出现了重定向的问题。这个解决办法是通过ftp登录网站安装目录,进入插件目录,把插件目录重命名,然后新建一个插件目录,名字后以前的目录名一样,只不过里面是空的。这时你一般就可以登录了。然后依次启用插件,排查问题。
三、全新安装的wordpress为什么也会有这个问题
笔者遇到的就是全新安装的wordpress,但是也出现了这个问题。这有点让人费解。但是这可以肯定的告诉各位,这是服务器配置导致的。实际上这不仅仅限于wordpress,其它的网站系统也遇到这个问题。有人分析的服务器防火墙错判,或服务器安全配置太高等。不管什么原因,如果没有服务器的权限,要从服务器本身去解决问题,是比较难的。下面提供两个方法:
1、修改wp-config.php文件
从浏览器的判断来看,是Cookie问题,所以从这个角度来解决。打开wp-config.php文件,添加下面的几行代码:
[php]
define(‘ADMIN_COOKIE_PATH’, ‘/’);
define(‘COOKIE_DOMAIN’, ");
define(‘COOKIEPATH’, ");
define(‘SITECOOKIEPATH’, ");
[/php]
保存后测试看看。
2、修改.htaccess文件
通过ftp链接登录,右击编辑,在# BEGIN WordPress line上面,添加下面的代码:
[php]
ErrorDocument 401 default
[/php]
保存后测试看看。
一般情况下,通过上述方法都能解决问题。
location / {
index index.html index.php;
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;
1. 在阿里云或其他地方申请证书文件得到如:
214040226730432.key 214040226730432.pem
放到如 /etc/nginx/cert目录下
2.nginx配置文件里面
server {
listen 443;
server_name jadewen.win ;
ssl on;
root /var/www/default;
index index.php index.html;
ssl_certificate cert/214040226730432.pem;
ssl_certificate_key cert/214040226730432.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
3.重定向http到https
server {
listen 80;
server_name jadewen.win ;
return 301 ;
}
配置多个server块映射到不同目录即可,但是免费的https证书只能支持一个主域名,二级域名仍然只能是http的
server {
listen 80;
server_name blog.jadewen.win;
root /var/www/blog;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
我们在操作wordpress网站的时候,由于某些原因需要换域名,为了百度蜘蛛的有友好性,也就是我们常说的seo用户体验,我们需要对网站进行301重定向,即将原本来的老域名重定向到现在的新域名,方便用户访问及蜘蛛爬行。
具体的方法有很多,不过个人感觉这个方法是最简单的:
第一步:将你的老域名与新域名绑定在同一个服务器或是空间中,注意域名的DNS解析也要指向同一个IP地址。
第二步:复制如下代码:
if (strtolower($_SERVER['SERVER_NAME'])!=’’){$URIRedirect=$_SERVER['REQUEST_URI'];if(strtolower($URIRedirect)==”/index.php”){$URIRedirect=”/”;}header(‘HTTP/1.1 301 Moved Permanently’);header(‘Location:’.$URIRedirect);exit();}
第三步:将上面的代码(注意将网站地址改为你自己的新域名)粘贴到ftp网站根目录wp-blog-header.php的文件?php 后面保存即可。
注意事项:网站域名DNS解析要生效;?php与你粘贴的代码之间要有空格,否则无效;本方法只适应于wordpress程序建站的win主机系统。
最为关键的两点:
1.301最大的好处就是传递权重,目的都是为了更好的保留权重。比如A网页由于永久改变网址,那么做301之后,把A页面永久性的转移到B页面,搜索引擎就会把网页B当做唯一的有效目标。这是搜索引擎唯一推荐的不会产生怀疑的方法,A页面的权重也会转到B页面。
2.网站有好几个域名都能访问到首页,那么就需要把所有的网址都定向到一个主网址上。百度对于301会传递所有权重,Googel只是一部分。但都有个时间问题。
win主机下wordpress完美实现301重定向的具体实现方法
我们找到网站根目录中也就是wordpress根目录中的wp-blog-header.php文件,并在文件开头 ?php 后添加以下代码
if (strtolower($_SERVER['SERVER_NAME'])!='')
{
$URIRedirect=$_SERVER['REQUEST_URI'];
if(strtolower($URIRedirect)=="/index.php")
{
$URIRedirect="/";
}
header('HTTP/1.1 301 Moved Permanently');
header('Location:'.$URIRedirect);
exit();
}