将Wordpress网站移动到/博客域名

时间:2016-04-06 13:20:29

标签: wordpress apache virtualhost

我在example.com上有一个带有wordpress网站的客户端,但是,他们希望在example.com上有一个自定义网站,而博客则转到example.com/blog

到目前为止,我已在根目录

中创建了两个文件夹
/main
/blog

在虚拟主机中,我有一个博客的别名

Alias /blog /var/www/public_html/blog

主站点位于/ main文件夹中,一切似乎都正常。 wordpress网站已移至/ blog文件夹,当我转到/博客时确实已加载。

两个问题

1)wordpress网站没有加载样式表。在源代码中,它们似乎是example.com/wp-content / ...而不是example.com/blog/wp-content /...

2)链接显示正确但未转到所需位置。例如,名为服装的类别显示为example.com/blog/category/clothing/,但单击时会重定向到example.com

更新

在wp-options表中,我更新了siteurl和home值以包含/ blog这是已解决的问题1.问题2仍然存在。

更新

问题似乎与虚拟主机别名有关。 / blog捕获并转到public_html / blog文件夹,/ blog /任何不捕获并转到/ main文件夹。

更新和解决方案

问题在于wordpress网站中的.htaccess。

这是最初的.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

这是一个有效的修改

<IfModule mod_rewrite.c>
   RewriteEngine on
    RewriteBase /blog
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule    (.*) index.php [L]
</IfModule>

2 个答案:

答案 0 :(得分:1)

尝试使用&#34; WP Migrate DB&#34;插件 - 它将创建一个数据库转储,并将所有旧的URL替换为新的。

答案 1 :(得分:0)

问题1)

通过更新'siteurl'和'home'的表'wp-options'设置值来解决,以包含'/ blog /'后缀

问题2)

通过将wordpress .htaccess文件更新到此

来解决
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /blog
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule    (.*) index.php [L]
</IfModule>