我有一个客户在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 回答
尝试使用“WP Migrate DB”插件 - 它将创建一个数据库转储,并将所有旧的url替换为新的url .
问题1)
通过更新'siteurl'和'home'的表'wp-options'设置值来解决,以包含'/ blog /'后缀
问题2)
通过更新wordpress .htaccess文件解决此问题