【发布时间】:2018-12-06 22:47:53
【问题描述】:
我在主机上安装了 wordpress,并有一个指向该主机的 DNS。问题是该站点正在从子目录迁移,并且该结构需要保持不变。
所以 www.webpage.com/subdirectory/ 现在指向托管内容的 www.wordpress-host.com。
在 Wordpress 中,站点 URL 设置为 www.webpage.com/subdirectory/,.htaccess 为:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subdirectory/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subdirectory/index.php [L]
</IfModule>
通过此设置,主页呈现正常,所有 css 和 javascript 都正确加载。
问题在于,无论查看哪个页面/帖子,它总是呈现主页。
我还创建了一个插件来用站点 URL 替换所有主机 URL,但是当它处于活动状态时,每个文件都是主页,因此您检查任何 .css 或 .js 文件它都是主页中的 HTML。
在 htaccess 或其他解决方案中是否缺少某些东西来使其正常工作?
我认为 htaccess 不正确,但我不确定如何让它与假子目录一起使用。
-新主机只是一个 wordpress 主机,因此原站点将保留在其主机上,但 wordpress 安装正在移动。
【问题讨论】:
-
澄清一下,你是说之前安装在
/subdirectory的wordpress现在已经移到/了?.htaccess在哪里?在/subdirectory?或/? -
Wordpress 之前安装在 /subdirectory 但已移动到新主机的根目录,但原始 URL 必须保持不变。 .htaccess 文件位于根级别
-
如果要保留原来的url(带子目录),为什么要把网站移动到根目录???
-
@Bjiorn 新主机不支持子目录
-
什么样的主机不支持子目录?即使是wordpress也会有自己的子目录,例如
wp-content,'wp-admin, etc. If your root directory is/var/www/html/`作为服务器上的root'/',你只需要重新定义目录'/var/www /html/subdir' 作为你的根目录,然后像你的旧主机一样安装 wordpress,不是吗?