【问题标题】:Wordpress in subfolder insists on showing the parent directory's contents子文件夹中的 Wordpress 坚持显示父目录的内容
【发布时间】:2021-10-18 14:37:27
【问题描述】:

我正在尝试将我们的 wordpress 博客从 blog.ourdomain.co.uk 迁移到 ourdomain.co.uk/journal,但 ourdomain.co.uk/journal 总是显示来自 ourdomain.co.uk/ 的内容。

为了简化迁移,我先在 /journal 中安装一个空白的 wordpress,然后使用 WP 的内置导出/导入功能导入“所有内容”。

起初一切似乎都很好,但是当我访问 ourdomain.co.uk/journal 时,它并没有显示 wordpress 主页,而是显示了我们主站点的主页。即使访问 ourdomain.co.uk/journal/index.php 也会导致这种行为。该站点发出 301 重定向到 ourdomain.co.uk/journal,然后我看到主站点主页而不是 wordpress。

我在父目录 .htaccess 文件中看不到任何会导致这种情况发生的内容。 wordpress .htaccess 文件包含如下代码,其中大部分是由 wordpress 自动创建的,但我添加了 wp-admin 重定向规则。

我可以访问和使用https://www.ourdomain.co.uk/journal/wp-admin/ 没问题。数据库 cxn 没问题。我还可以访问https://www.ourdomain.co.uk/journal/readme.html等静态文件。直接指向帖子的链接也可以正常工作,例如 https://www.ourdomain.co.uk/journal/2021/post-title-here/ - 它只是主页。

即使我将主页设置为静态页面,例如我们在 wordpress 中的 about 页面,这种情况仍然会发生。

我已经定义了 define('WP_HOME', 'https://www.ourdomain.co.uk/journal');并定义('WP_SITEURL', 'https://www.ourdomain.co.uk/journal');在 wp-config.php 中

如果我删除 /journal .htaccess 文件的内容,那么我可以加载 https://www.ourdomain.co.uk/journal ONCE,然后又出错了,因为 wordpress 已将重写代码重写为 .htaccess - 很明显这是 与永久链接有关,但我无法弄清楚到底是什么。

感谢您的帮助。

.htaccess 的内容:

# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /journal/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /journal/index.php [L]
</IfModule>

# END WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^wp-admin\/?$ wp-admin/index.php [NC]
</IfModule>

【问题讨论】:

  • 注意 - 删除 wordpress 数据库中的所有标签并重新导入干净的 wordpress 数据库仍然会导致此错误。
  • 我找不到您的 WordPress Htaccess 的任何问题。你清除浏览器缓存了吗?
  • 还可以尝试将规则的模式从 . 更改为 .* 到 RewriteRule .* /journal/index.php [L] 我认为这应该可以解决您的问题。
  • 在隐身窗口中发生,但会尝试清除缓存。
  • 这些东西都没有帮助,但还是谢谢。

标签: php wordpress apache .htaccess redirect


【解决方案1】:

好的,现在已经工作了 24 小时:通过将“DirectoryIndex index.php”添加到 .htaccess 来修复。看起来重定向只是在文件夹树上向上,直到找到它识别的目录索引页,所以让它识别 /journal 中的那个修复它。

【讨论】:

    猜你喜欢
    • 2011-01-29
    • 1970-01-01
    • 2013-05-17
    • 2017-08-23
    • 1970-01-01
    • 2020-12-25
    • 2012-11-24
    • 1970-01-01
    • 2019-10-12
    相关资源
    最近更新 更多