Pascal 发表于 2014-1-28 14:48:15

紧急求助!! 301重定向问题。感谢不尽~

紧急!求助301重定向问题。感谢。


301重定向的这个问题,小弟实际上半年前就遇到了,无奈由于个人原因一直未能再重新试验(忙别的事情)。最近决定开始实践amz,所以这个问题必须解决了。

情况是这样的:

1. 我在主机空间安装wordpress。空间下安装路径为 http://mydomain.net/blog
(空间只提供裸域下的路径安装)

2. 实现了子目录安装,根目录访问。 wordpress后台的general选项下,两个网址分别为: http://mydomain.net/blog (wordpress地址) 和http://mydomain.net (网址访问地址)

3. 想实现301重定向,所以修改了.htaccess文件,加入了RewriteCon和 RewriteRule 两句指令。

但是,出现的结果是: 可以从裸域成功跳转到www,但是无法显示任何内容,也无法再进入wordpress后台,因为后台路径是 http://mydomain.net/blog/wp-login.php ,而301跳转自动跳转到www路径下。

因此,我尝试了别的措施:

1. .htaccess文件恢复原始。 先通过http://mydomain.net/blog/wp-login.php 进入后台, 修改general选项下的两个网址(上文提到)为带www的。

2. 再重新给.htaccess文件加入 RewriteCon和 RewriteRule 指令。

这次,结果依旧。 更糟糕的是,即使让.htaccess文件恢复原始,也无法再进入wordpress后台。因为主机空间后台里的安装路径是裸域安装的,而wordpress后台的general下的两个地址是带www的。

这样的话,我就无计可施了。 无法恢复,只能重新reload并重新安装wordpress了。可是,我还是无法解决裸域向www跳转的问题。   

此问题已经困扰小弟太长时间,现在必须解决这个问题了。还望各位大侠高手给与指点。 小弟感激涕零。~








月光飞燕 发表于 2014-1-29 11:49:57

//301永久定向
$CURRENT_DOMAIN = strtolower($_SERVER['HTTP_HOST']);
if($CURRENT_DOMAIN != 'www.yourdomain.com'){
      header('HTTP/1.1 301 Moved Permanently');
      header('Location: http://www.yourdomain.com'.$_SERVER['REQUEST_URI']);
}

这段放到配置文件顶部,域名改成你自己的,有2处

Pascal 发表于 2014-1-30 14:05:53

谢谢飞燕   已解决。感激不尽。 ~~

luguokankan 发表于 2014-1-31 09:56:31

如果是按照飞燕的思路,用php而不是.htaccess
有个不是那么intrusive的方法.

首先,你要知道wp会自动做域名跳转.

如果你访问的是 test.com, wp会302跳转到www.test.com

所以这方法就是将302改成301

将以下代码加到主题的functions.php.

add_filter('wp_redirect_status','always_301_redirect');

function always_301_redirect(){return 301;}



erfsaeg 发表于 2014-2-5 17:12:20

301重定向,所以修改了.htaccess文件,加入了RewriteCon和 RewriteRule 两句指令。


hardrock 发表于 2014-2-10 15:42:27

2楼的代码加到哪里?
.htaccess文件还是wp/wp-config.php??
页: [1]
查看完整版本: 紧急求助!! 301重定向问题。感谢不尽~