豆子的个人博客的地址是 www.beanxyz.com/blog , 今天打算把wordpress从blog直接移到根目录下面,这样当我输入 www.beanxyz.com 的时候,就可以直接看见目录了;
具体方法如下,以便日后备忘:
豆子使用的是EC2的Linux AMI配置的LAMP,因此操作上略有不同。
第一步,把所有的文件从当前所在的目录移到apache的根目录下面
cd /var/www/html/blog
cp -r * /var/www/html
第二步,更改siteurl,这里有几种方式
一种是打开 wp-config.php, 然后手动输入
一种是登陆www.beanxyz.com/wp-admin, 然后更改site-url;我因为采用了第一种方式直接编码,因此这个界面的Url选项就变灰了
还有一种方式是可以在数据库文件中查询URL来修改,这里我就不赘述了。
第三步,更改Permanlink的设定,参考 http://guiem.info/permalinks-on-wordpress-amazon-ec2/
/etc/httpd/conf 里面修改httpd.conf 文件,确保格式如下,注意博客所在的路径, AllowOverride 的设定应当是All
<Directory "/var/www/html"/>
Options FollowSymLinks
AllowOverride All
</Directory>
同时注意修改/var/www/html 目录下面的.htaccess 文件。如果没有这个文件创建或者丢失了,可以通过关闭Permanlink然后重新打开的方式自动创建。
内容如下
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ -[L]
RewriteCond %{REQUEST_FILENAME}!-f
RewriteCond %{REQUEST_FILENAME}!-d
RewriteRule . /index.php[L]
</IfModule>
# END WordPress
第四步,更改数据库中图片的Url, 登陆 http://www.beanxyz.com/phpmyadmin
最简单的办法是直接Export数据库(wp_posts 和wp_postmeta),通过文本编辑器搜索替换 www.beanxyz.com/blog 为 www.beanxyz.com , 然后drop 或者 empty掉这两个数据库,Import修改后的sql文件回来,就行了
当然也可以通过sql语句进行替换,格式如下
update wp_posts set post_content= replace(post_content,'http://www.beanxyz.com/blog','http://www.beanxyz.com') where post_content like '%http://www.beanxyz.com/blog%'
最后,还有第五步,确认权限,尤其是Plugin下载账号对wp-content需要有读写权限。
豆子是使用默认的登录账号Direct直接下载,那么确保apache账号拥有Owner权限即可
sudo chown -R apache /var/www/html