【问题标题】:Wordpress nginx rewriteWordpress nginx 重写
【发布时间】:2016-05-25 12:12:37
【问题描述】:

我正在尝试在我的 wordpress 页面上执行以下重写规则。 我有一个页面www.mydomain.com/videa,我想配置它,当有人键入www.mydomain.com/videa/some-string 时,它将被重写(而不是重定向)到www.mydomain.com/videa/?v=some-string,但用户仍然会看到他的URL www.mydomain.com/videa/some-string

我们正在运行 Nginx 服务器,我尝试遵循规则 rewrite "^/videa/(.+)$" "/videa/?v=$1"; 但它一直说找不到页面。

提前感谢您的帮助。

【问题讨论】:

    标签: php wordpress mod-rewrite nginx


    【解决方案1】:

    我相信在这种情况下,您正在尝试向现有的 WordPress 页面添加额外的变量,所以这样的事情应该可以工作:

    function custom_rewrite_basic() {
      add_rewrite_rule('^videa/(.+)/?', 'index.php?v=$matches[1]', 'top');
    }
    add_action('init', 'custom_rewrite_basic');
    

    您可以将其放入您的主题functions.php 或创建一个插件。您需要通过在 WordPress 管理界面中重新保存永久链接来刷新重写规则。

    【讨论】:

    • 这可以与 nginx 一起使用吗?因为 nginx 忽略了 .htaccess
    • 是的。你的 nginx 配置文件应该有类似这样的内容:location $uri $uri/ index.php$is_args$args
    • 它做了一些事情,但它让我回到我的主页,而不是 /videa 页面。你能帮忙吗?
    • 什么是/video?是页面、帖子还是自定义帖子?
    • 单个 wordpress 页面,而不是帖子
    【解决方案2】:

    进行更改后,尝试从仪表板“重新保存”永久链接设置 (/wp-admin/options-permalink.php)。有时它可以解决问题。

    【讨论】:

      猜你喜欢
      • 2011-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 2020-07-29
      • 1970-01-01
      • 2011-03-30
      相关资源
      最近更新 更多