提醒:本文最后更新于 4145 天前,文中所描述的信息可能已发生改变,请仔细核实。
很久没动过Apache了,特别是主机。。。都遗忘的差不多了。
博友@幻化成风lv 的博客,想换新域名,并且使用的是主机。有问有答,将以前的主机备份包打开出来看,总结了一下,给其他博友做参照,未调试,不过应该是没问题的。
首先是mysql方面,可以在phpmyadmin里面,搜索旧域名,批量修改成新域名,使用SQL语句可以更快捷实现替换:
UPDATE wp_options SET option_value = replace( option_value, '你的旧域名', '你的新域名' ) WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace( post_content, '你的旧域名', '你的新域名' ) ;
UPDATE wp_posts SET guid = replace( guid, '你的旧域名', '你的新域名' ) ;
UPDATE wp_comments SET comment_content = replace(comment_content, '你的旧域名', '你的新域名') ;
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, '你的旧域名', '你的新域名') ;
UPDATE wp_posts SET post_content = replace( post_content, '你的旧域名', '你的新域名' ) ;
UPDATE wp_posts SET guid = replace( guid, '你的旧域名', '你的新域名' ) ;
UPDATE wp_comments SET comment_content = replace(comment_content, '你的旧域名', '你的新域名') ;
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, '你的旧域名', '你的新域名') ;
利用 .htaccess 实现全站内容301跳转到新域名,在.htaccess 文件根据实际情况添加如下代码:
Options +FollowSymLinks
RewriteEngine on
rewritecond %{http_host} ^你的旧域名 [nc]
rewriterule ^(.*)$ http://你的新域名/$1 [L,R=301]
RewriteEngine on
rewritecond %{http_host} ^你的旧域名 [nc]
rewriterule ^(.*)$ http://你的新域名/$1 [L,R=301]
正常上述代码,需要添加在如下内容之间。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
OK,就这么简单的说道这里。谢谢
转载请注明转自:kn007的个人博客的《关于Apache主机更换域名的一些操作介绍》
@Hannah:
更换域名太麻换了
@haweijon: 或许吧
内容量太大~无法直视了!
@be.truth: 额,这还内容量太大!
我倒,我换域名直接把*.sql扔给notepad++,然后批量替换;我更换图床就用了正则
@郑杰: 殊途同归
换完301跳转很重要~~
@公子: 确实是
很讨厌Apache。。。还是比较喜欢Nginx
@Aivier: Nginx静态方面非常之好,并发数高,规则相对简洁。各种优点~
阿帕奇下写.htaccess习惯了,当时才转到大发主机的时候,nginx的301差点把我搞崩溃,写法差别挺大的,还好也有共性,后来就写好了
@小蝴蝶: nginx习惯了之后,感觉apache废话好多啊。。
@kn007: nginx就是轻啊,但阿帕奇也不是一无是处的,尤其我们小网站没有多少并发,如果rewrite模块很多还是阿帕奇处理的好一点
@小蝴蝶: 如我在你那里留言所说,我换了很多次固定连接,所以rewrite确实不少