总的问题有两个,一是apache的配置,二是mysql的导出和导入。以及迁移后遇到的一些问题解决过程和方法。
A机器为老server。B为新server,A机器使用Appserv,B使用wmap,在配置多网站时候,遇到了一点儿不同。
除了都要打开httpd.conf
Include conf/extra/httpd-vhosts.conf
LoadModule rewrite_module modules/mod_rewrite.so
在httpd-vhosts.conf中配置多网站相应的文件夹
<VirtualHost *:80> ServerAdmin xieecjtu@163.com DocumentRoot "C:/wamp/www/wp" ServerName B.com ServerAlias www.B.com ErrorLog "logs/dummy-host.x-error.log" CustomLog "logs/dummy-host.x-access.log" common <Directory "C:/wamp/www/wp"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerAdmin xieecjtu@163.com DocumentRoot "C:/wamp/www/" ServerName www.A.com ErrorLog "logs/dummy-host2.x-error.log" CustomLog "logs/dummy-host2.x-access.log" common <Directory "C:/wamp/www/"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
以下这一段是 wmap设置新加的设置
<Directory "C:/wamp/www/"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
从A机器把站点源代码搞到B机器上,非常多方法。ftp
A机器上用mysqldump把相应的db备份起来,通过ftp下载到B机器上。
一定要设定字符集。不然导入到b机器上时候,会出错。
mysql.exe -uroot -p**** –default-character-set=utf-8 mydb mytable > mytable.sql
b机器上运行 mysql -uroot -p –default-character-set=utf8 mytable < mytable.sql
事先在b机器上创建好 mytable库,注意数据库编码要和原来的保持一致
使用navicat来备份还原常常会出现这个问题。非常可能就是编码的原因
wordpress迁移后,假设出现首页正常,文章内页404错误,是因为固定链接的问题。
1,.htaccess要开放写权限。这样在自己定义wp的永久链接时,wp会自己主动重写.htaccess。所谓删除或手动重写.htaccess就是由于没有开放它的写权限。
2,找到APACHE文件里的httpd.conf文件, 把#LoadModule rewrite_module modules/mod_rewrite.so 前的#去掉,载入rewrite模块。
3,查看APACHE文件里的httpd.conf文件是否默认设置了AllowOverRide为None,假设是,要改成All。
或者改动 wordpress所在的vhost段加入 < Directory /wp所在路径/> AllowOverride All < /Directory>
然后进入wordpress后台,又一次确定下 固定链接。重写.htaccess文件。
重新启动apache,一切搞定。