add_rewrite_rule问题($ regex,$ redirect,$ after);

时间:2017-09-02 03:08:28

标签: php wordpress .htaccess

我已经浏览了同一主题的所有相关帖子,并尝试了互联网其他部分的想法,我仍然感到难过。这是我第一次无法在wp中使用。

是的,我在修改add_rewrite_rule后点击管理永久链接页面上的保存更改。

我知道如何解决问题并且涉及重写。所以我想我会对add_rewrite_rule做一个快速测试,然后把它扔进functions.php。

所以我补充道:

function stoneblue_AMP_redir(){

    $regex = 'amp/RID/([0-9]+)/?'; 
    $redirect = 'angel-page/?RID=$1'; 
    $after = 'top';

    add_rewrite_rule($regex, $redirect, $after);

    global $wp_rewrite;
    $wp_rewrite->flush_rules( );

}
add_action('init', 'stoneblue_AMP_redir');

这给出了一个.htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^amp/RID/([0-9]+)/? /angel-page/?RID=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

我最终到了404.php页面:

404.php
array(1) {
  ["RID"]=>
  string(8) "707808909"
}

有时当我最终崩溃并提出问题时,我会得到想法并且能够解决它,到目前为止nada ...... ......

我已经离开它,仍然没有回来。

重定向到index.php可以正常工作:

   $regex = '^bananas$'; 
   $redirect = 'index.php?p=174'; 
   $after = 'top';
   add_rewrite_rule($regex, $redirect, $after);

所以请求sub.domain.top/bananas好没问题。

0 个答案:

没有答案