WordPress url将查询变量重写为静态URL

时间:2013-11-25 作者:user1489083

我有如下URL:

http://animup.net/manga/bara-no-maria/
并有一些url参数

http://animup.net/manga/bara-no-maria/?chp=1
http://animup.net/manga/bara-no-maria/?chp=2
http://animup.net/manga/bara-no-maria/?chp=3
....
是否有如下URL:

http://animup.net/manga/bara-no-maria/chp-*/
我找到了我的解决方案:这是我的代码:

    add_action(\'init\',\'mangareader_init\');
    function mangareader_init() {
      global
      $wp,$wp_rewrite;
      $wp->add_query_var(\'chp\');
      $wp_rewrite->add_rule(\'manga/([^/]+)/c([^/]+)\',
        \'index.php?post_type=manga&name=$matches[1]&chp=$matches[2]\', \'top\');
      // Once you get working, remove this next line
      //$wp_rewrite->flush_rules(false);  
    }

1 个回复
SO网友:Charles

好的,让我们试试这个(因为代码的缘故,我不想把它当作“注释”。

在您的评论中,您仍然没有回答“可能的缓存问题”,但仍然。也许,只是可能这部分代码。htaccess可能会有所帮助。请注意,此代码可能会比预期的更糟(请阅读解释内容!请点击该链接了解更多信息)

此代码位于#BEGIN Wordpress-in行之前。htaccess。找到源代码here.

RewriteEngine On
RewriteCond %{QUERY_STRING} !=""         #if there is a query string
RewriteCond %{QUERY_STRING} !^p=.*       #wordpress users: allow post tempalinks
RewriteCond %{REQUEST_URI} !^/wp-admin.* #wordpress users: don\'t break admin
RewriteRule ^(.*)$ /$1? [R=301,L]        #remove query string
我还找到了Stackoverflow本身的一些答案。也许在那里你还可以找到一些可以使用/尝试的源代码。RewriteCond/RewriteRule for removing query strings from URLs

另一个可能有帮助的答案是:also stackoverflow

结束

相关推荐