紧急求助!! 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跳转的问题。
此问题已经困扰小弟太长时间,现在必须解决这个问题了。还望各位大侠高手给与指点。 小弟感激涕零。~
//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处
谢谢飞燕 已解决。感激不尽。 ~~
如果是按照飞燕的思路,用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;}
301重定向,所以修改了.htaccess文件,加入了RewriteCon和 RewriteRule 两句指令。
2楼的代码加到哪里?
.htaccess文件还是wp/wp-config.php??
页:
[1]