WordPress修改 .htaccess 实现固定链接301 重定向

对WordPress出于SEO、PR值传递、网址转换的目的,我把博客访问方法由https://重定向于http://,在此过程中出现WordPress固定链接无法重定向,并且出现CSS无加法载,造成页面排版混乱。本方法解决由https://重定向于http://外同时解决固定链接无法重定向问题,给大家参考。

首先说说我为什么要把博客访问方法由https://重定向于http://,这是因为前段时间博客主机搬到ICDSoft上,如果需要开通独立IP,那必须开通SSL,也就是https://访问。根据本人博客内容,还不需提高到那个级别,同时由于博客内容中含有不安全(也就是http://)链接,用IE9访问时会跳出警告框,非常不美观。于是有此要求。

先ICDSoft官方客户发出提问:

https://www.jinbo123.com-->https://www.jinbo123.com
https:https://www.jinbo123.com-->https://www.jinbo123.com
http://jinbo123.com-->http://www.jinbo.com
How to set 301 redirect questions about the domain name above
Thank you


英文不好,语法及用词可能有错,见笑。官方客服很快既回复:

Hello,
You can do that with the following mod_rewrite rules:

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ https://www.jinbo123.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} !^www.jinbo123.com$ [NC]
RewriteRule ^(.*)$ https://www.jinbo123.com/$1 [L,R=301]

They should be placed in your .htaccess file.
If you run into any problems, please let us know.
Best regards,
Support

也就是说在主机WWW根目录.htaccess中加上以上代码。加后既可按我上面的要求进行重定向。过几天后,通过Google做测试时发现有收录https://的固定链接,点击进入问题出现了。该固定链接没有重定向成http://,并显示排版非常错乱(这是因为没有加载CSS造成的)。
如:
"https:https://www.jinbo123.com/3506.html"无法重定向至"https://www.jinbo123.com/3506.html";
“https://www.jinbo123.com/category/technology-network”无法重定向至“https://www.jinbo123.com/category/technology-network”

问题出现在那里呢?

Google很多方法都无法实现,再次向ICDSoft官方客服提问,过了半个小时后得到的回复如下:

Hello,
We moved the redirect code at the top of your .htaccess file.
Please clear your browser's cache, restart it, and check again.

Best regards,
Support

原来以下这段代码要放在.htaccess的顶端,否则.htaccess会优先处理其它命令,这样造成冲突。如.htaccess中的这一段代码:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

这一段代码是WordPress自定义链接形式代码,与它有冲突。马上把以下代码放在.htaccess最前面,所有问题都得于解决。详细如图片:

htaccess

WordPress修改 .htaccess 实现固定链接301 重定向》有4个想法

  1. 别先生

    1、已经看到您解决了问题,不好意思,刚才一直开会了。
    2、其实我也有篇文中提了一下,http://www.mrbie.com/wordpress-htaccess-301-redirection.html
    第四条。。。
    3、https的链接,应该只对谷歌有效,其他搜索无效吧。
    4、我记得很多人是把http重定向到https上
    5、你可以参照下http://lwg2001s.iteye.com/blog/811447一文,对搜索引擎使用http,对其他用户使用https加密方式,看看是否可行。
    6、工作中很少上网,未及时回复,致歉。

    回复
    1. 佐仔 文章作者

      当时没有认真了解,但你的方法也不错,不过我不想在主题里面增加太多代码。
      非常感谢这么详细的回复。
      应该说https://只有Google会收录,只要收录就不想让它出错。
      其实我也想把http重定向到https上,可惜的是在我的博客中有很多不安全的链接,其实也就是http链接,这是https不许可以,在IE浏览中有警示框框,给别人感觉不安全,但原本是百分百安全的。

      回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注