【问题标题】:Redirect Wordpress重定向WordPress
【发布时间】:2018-04-17 09:53:34
【问题描述】:

我有一个安装了 WooCommerce 和 Avada 主题的 WordPress 网站。我正在尝试通过functions.php 文件执行重写规则。

我希望到达 http://example.com/product/SKU01 的内容必须重定向到 http://example.com/custom-file.php?prod_sku=SKU01

add_action('init', 'dcc_rewrite_tags');
function dcc_rewrite_tags() {
    add_rewrite_tag('%propref%', '([^&]+)');
}

add_action('init', 'dcc_rewrite_rules');
function dcc_rewrite_rules() {
    add_rewrite_rule('^product/?$','custom-file.php?prod_sku=$matches[1]','top');
}

在插件(Rewrite Rule Inspector) 中,我可以看到一切正常,但是当我尝试在前端打开 URL 时,它无法正常工作。

这根本不起作用。我的 WooCommerce 在其 URL 中不使用任何“产品”字符串,但它根本不起作用。我也试过.htaccess,但我得到了同样的行为。每次我拨打/product/sku01 都会被重定向到404 页面。

【问题讨论】:

  • 您是否访问过永久链接选项页面(我不确定它是否被命名为“永久链接”novadays)?访问这里会触发一些重新加载重定向方法,这可以帮助你。
  • @bigwolk 是的,但根本不工作。我还刷新了重写规则

标签: php wordpress redirect


【解决方案1】:

这里需要刷掉重写规则;为此,您可以转到Settings -> Permalinks 并单击保存按钮。 add_rewrite_rule 规则不会向.htaccess file. 写入内容,因此您应该清除重写规则。

改变

add_rewrite_rule('^product/?$','custom-file.php?prod_sku=$matches[1]','top');

到:

add_rewrite_rule('^product/([^/]*)/([^/]*)/?','custom-file.php?prod_sku=$matches[1]','top');

http://codex.wordpress.org/Rewrite_API/flush_rules

【讨论】:

  • 我接近解决方案了。我无法重定向与 index.php 不同的 php 文件,因此我使用自定义模板制作了一个页面。我让你了解最新情况
  • 没有错误。如果我像我一样设置一个自定义的 php 文件,我会被重定向到 404。就像我没有添加任何规则。
  • 你能写出你得到 404 的 url
  • 没什么,不工作。但我找到了一个我正在发布的解决方案。实际上我不知道它是否是最干净的解决方案,但它有效。我认为问题在于 url 中的产品是 woocommerce 捕获的字符串
【解决方案2】:

我找到了解决方案。我不知道这是否是一个干净的解决方案,但它工作正常。 我用自定义模板在后端做了一个页面。我对此不确定,但我认为安装 woocommerce 时,所有包含“产品”的 url 都会重定向到 index.php。所以我的重写规则说:如果包含“产品”,请进入我的自定义页面。 在我的代码下方,我将其放在 functions.php 文件中。

add_action('init', 'dcc_rewrite_tags');
function dcc_rewrite_tags() {
    add_rewrite_tag('%propref%', '([^&]+)');
}

add_action('init', 'dcc_rewrite_rules');
function dcc_rewrite_rules() {
    add_rewrite_rule('^product/(.+)/?$','index.php?page_id=14964&propref=$matches[1]','top');
}

【讨论】:

    猜你喜欢
    • 2013-03-30
    • 1970-01-01
    • 2013-06-08
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多