【问题标题】:Wordpress looks for the php files in the wrong place (after redirected)Wordpress 在错误的位置查找 php 文件(重定向后)
【发布时间】:2017-03-16 12:20:52
【问题描述】:

我们的 Wordpress 安装在 blog.survio.cz 上,并定义了 WP_HOME 和 WP_SITEURL:

define('WP_HOME','http://blog.survio.cz');
define('WP_SITEURL','http://blog.survio.cz');

但出于 SEO 目的,我们将其重定向(使用 301 重定向)到 http://www.survio.com/cs/blog/

我面临的问题是这个重定向对 Wordpress 功能造成了很大影响。

最新的问题是我不能添加cmets。 F.e.:在帖子 http://www.survio.com/cs/blog/novinky/jak-zvysit-pocet-vyplnenych-dotazniku 中,当我向下滚动并填写评论并点击提交 (odeslat komentar) 时,我看到带有 URL http://www.survio.com/wp-comments-post.php 的空白页面 - 该 URL 显然是错误的。

我的问题是:有没有办法让我改变,wordpress 在哪里寻找这个 .php? (它可能位于 blog.survio.cz/wp-cmets-post)。

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    问题 问题是,当生成评论表单时,Wordpress 正在使用相对 URL 设置操作。

    <form action="/wp-comments-post.php" method="post" id="commentform" class="comment-form anti-spam-form-processed" novalidate="">
    

    然后浏览器用http://www.survio.com/ 填充那个url,因为它不知道任何关于blog.survio.cz 的信息。当然,http://www.survio.com/wp-comments-post.php 也不存在。

    所以,您需要做的是更改它,以便使用绝对 url 设置 action 属性。但是怎么做呢?

    事实证明,在 Wordpress 核心中,生成该行 HTML 的代码是这样开始的:

    <form action="<?php echo site_url( '/wp-comments-post.php' ); ?>" 
    

    这意味着 site_url('/wp-cmets-post.php') 正在返回 '/wp-cmets-post.php'。之所以这样做,是因为 site_url 函数会在将任何字符串传递给它之前预先添加存储在 WP 数据库中的 site_url。因此,显然,数据库中的 site_url 。

    修复

    您可以通过在您网站的“常规选项”页面中将 site_url 设置为“http://blog.survio.cz”来解决此问题。

    【讨论】:

    • 感谢您的解释,cmets 是如何工作的,它帮助我更好地理解 wordpress。然而,它并没有解决问题,因为在提出问题之前已经应用了修复程序。我们选择通过删除重定向并使用 survio.com/cs/blog 作为直接地址(不进行重定向)来解决此问题。正因为如此,赏金是你的:)
    • 谢谢!我预计——一周后——你一定已经找到了解决或解决问题的方法。但我认为这个解释可能对其他人有所帮助。
    【解决方案2】:

    我认为您必须编辑“选项”表。在此表中,您有两条记录“WP_HOME”和“WP_SITEURL”。使用您的域地址编辑这两条记录。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 2014-01-10
    • 1970-01-01
    相关资源
    最近更新 更多