我在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>
答案 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>