我有一个可以通过http://localhost/wp访问的wordpress站点,对应于目录/ Library / WebServers / Documents / wp。由于我希望http://wordpress可以访问我的wordpress网站而不移动wordpress目录,所以我决定在/ etc / private / hosts中设置一个新的主机,我添加了条目:
127.0.0.1 wordpress
然后我可以使用http://wordpress/wp访问该网站。为了避免URL的'wp'部分我决定使用Apache虚拟主机,在/etc/apache2/extra/httpd-vhosts.conf中添加以下块:
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/wp"
ServerName wordpress
ServerAlias wordpress
ErrorLog "/private/var/log/apache2/wordpress"
CustomLog "/private/var/log/apache2/wordpress" common
</VirtualHost>
然后我重新启动Apache并尝试使用网址http://wordpress尝试访问该网站我能够看到第一页的书面部分但是没有图片以及所有链接破碎。 检查链接我看到他们指向的URL仍然包含我试图避免的'wp'部分。 有什么建议吗?
答案 0 :(得分:1)
是的,在您的数据库中,所有网址中仍然包含/ wp /。更改Apache配置并没有改变这一点。最简单的方法是使用wp-cli(http://wp-cli.org)在WordPress数据库上进行搜索和替换。
在诉讼前备份您的数据库
wp search-replace 'http://wordpress/wp/' 'http://wordpress/' --dry-run
假设您已经安装了wp-cli并将其命名为wp,上面的命令将显示它将删除/ wp /所做的所有更改。来自您的网址。
一旦你感到高兴它正在改变正确的东西,删除``--dry-run`它会实际为你做出改变。
wp-cli是一款功能强大的工具。我们将它用于http://getpantheon.com的许多任务,并使用它在我的所有个人WordPress网站上进行大量维护工作。
HTH,
= C =