【问题标题】:WooCommerce URL with a Hebrew word带有希伯来语单词的 WooCommerce URL
【发布时间】:2015-06-24 23:37:55
【问题描述】:

我的设置如下:

  1. 我用 Wordpress 希伯来语版本创建了一个希伯来语 Wordpress 网站。
  2. 我从 themeforest 添加了一个没有 WooCommerce 但支持它的主题。主题支持 RTL,我需要它。
  3. 该站点位于子目录中,因为它仍在测试中,旧站点是支持 PHP 和 MySQL 的 Windows 服务器上的 asp.net。

我的问题是我的产品链接中有一个希伯来语单词,如下所示: http://sitename.co.il/wp/index.php/מוצר/test-mil/。此 URL 会导致 404 错误,但如果我使用此 URL: http://sitename.co.il/wp/index.php/product/test-mil/ 我可以进入页面。

所有其他链接都在正常工作。

我的尝试:

  1. 我查看并发现更改永久链接会有所帮助。我试过了,但它添加了一个额外的"/",这会导致问题 - 当我更改永久链接时,URL 看起来像这样:http://sitename.co.il/wp/index.php//product/test-mil/(注意双 //
  2. 我编辑了 WooCommerce 的 PO 文件,并将 slug 从希伯来语更改为英语,但这没有帮助。

这可能是服务器问题吗?

如果是这样,并且如果我移动到 linux 服务器,我可以使用 301 重定向从 asp.net 页面到新页面吗?

【问题讨论】:

    标签: wordpress woocommerce hebrew


    【解决方案1】:

    您似乎在 Windows 上使用 IIS 7。非 ASCII slug 出现 404 问题是 IIS 7 的一个已知服务器问题。

    在某些情况下,可以通过在 wp-config.php 中的 WP_DEBUG 常量定义之后添加以下代码来解决此问题:

    if (isset($_SERVER['UNENCODED_URL'])) {
        $_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];
    }
    

    您的另一个选择是迁移到 Apache 服务器,在该服务器上可以正确支持这些 URL。在这种情况下,您将能够非常轻松地创建必要的 301 重定向。

    【讨论】:

    • 谢谢,如何查看 IIS 版本?这是旧网站,我不相信版本是II7。我知道添加到内页 URL 的“index.php”是旧 IIS 的问题。也许迁移到新主机会更好。
    • 您应该能够在主机控制面板中检查 IIS 版本。是的,当我们谈论 WordPress 时,迁移到 Apache 主机始终是推荐的操作。
    • 我搬到了 linux 主机,问题解决了。现在 URL 看起来不错:sitename.co.il/product-catalog/compressors-and-related-products/… 对于 301 问题,最好的方法是什么?
    • 您可以使用插件轻松创建您的 301 重定向。用于此目的的好插件有:简单 301 重定向、重定向、茄子 301 重定向等。
    【解决方案2】:

    解决了!

    您应该更改 Wordpress 管理面板中的默认永久链接: 转到仪表板中的设置,选择永久链接并向下滚动以更改产品的永久链接。选择自定义选项(最后一个)并用英文写:product。这样就可以了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 2021-08-13
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      相关资源
      最近更新 更多