Wordpress网站在Apache虚拟主机设置后崩溃



我有一个工作wordpress网站,可以通过对应于目录/Library/WebServers/Documents/wp的 http://localhost/wp 访问。由于我希望在不移动wordpress目录的情况下 http://wordpress 访问我的wordpress网站,因此我决定在/etc/private/hosts中设置一个新主机,在那里我添加了条目:

127.0.0.1   wordpress

然后我能够 http://wordpress/wp 访问该网站。为了避免URL的"wp"部分,我决定通过在/etc/apache2/extra/httpd-vhosts.conf中添加以下块来使用Apache虚拟主机:

<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并尝试使用URL访问该网站,http://wordpress 我能够看到第一页的书面部分,但没有图像和所有链接都断开了。检查链接,我看到他们指向的 URL 仍然包含我试图避免的"wp"部分。有什么建议吗?

是的,在您的数据库中,所有 URL 中仍然包含/wp/。更改您的 Apache 配置并没有改变这一点。最简单的方法是使用wp-cli(http://wp-cli.org)在WordPress数据库上进行搜索和替换。

在继续之前备份数据库

wp search-replace 'http://wordpress/wp/' 'http://wordpress/' --dry-run

假设您已经安装了 wp-cli 并将其命名为 wp,上面的命令将显示它为从您的 URL 中删除/wp/. 所做的所有更改。

一旦你对它正在改变正确的东西感到满意,删除"--dry-run",它实际上会为你做出改变。

WP-CLI 是一个强大的工具。我们在 http://getpantheon.com 使用它来完成很多任务,我用它来在我所有的个人WordPress网站上做很多维护工作。

呵呵,

=C=

最新更新