首页 文章

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

提问于
浏览
0

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

到目前为止,我已在根目录中创建了两个文件夹

/main
/blog

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

Alias /blog /var/www/public_html/blog

主站点位于/ main文件夹中,一切似乎都运行正常 . wordpress网站已被移动到/ blog文件夹,当我转到/博客它确实加载 .

Two problems

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

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

UPDATE

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

UPDATE

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

UPDATE AND SOLUTION

问题在于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

    尝试使用“WP Migrate DB”插件 - 它将创建一个数据库转储,并将所有旧的url替换为新的url .

  • 1

    问题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>
    

相关问题