Wordpress重写规则适用于数字参数,但不适用于字母数字

时间:2013-11-21 07:59:37

标签: wordpress mod-rewrite url-rewriting

我正在尝试通过.htaccess解析网址中的参数,并在wordpress中重写网址。

问题 - 如果查询参数是数字,则可行,但如果是字母数字

则不行
  1. 正如预期的那样,mysite.com/members/12345将映射到mysite.com/members?membername=123,我可以在其中查看查询var参数。
  2. 出于某种原因,mysite.com/members/abc将404.
  3. .htaccess设置:

    RewriteRule ^members/([a-zA-Z0-9_-]+)$ /index.php?page_id=1107&membername=$1
    RewriteRule ^members/([a-zA-Z0-9_-]+)/$ /index.php?page_id=1107&membername=$1
    

    [page_id 1107 =] /会员页面。 我在functions.php中设置了以下内容,这样我就不会丢失查询参数

    add_filter('query_vars', 'add_my_var');
    
    function add_my_var($public_query_vars) {
        $public_query_vars[] = 'membername';
        return $public_query_vars;
    }
    

    我不知道为什么它适用于数字,但不适用于任何字母字符。非常感谢任何帮助。

    编辑:我的永久链接结构是/%category%/%postname% 当我删除这个固定链接结构(恢复到mysite.com/?p=123)时,重写按预期工作 - 所以我想类别重写规则在这里搞乱了。如何覆盖/ members / only ?? < / p>

0 个答案:

没有答案