簡體   English   中英

WordPress-重寫假網址

[英]Wordpress - rewrite fake urls

我在wordpress中創建了一個偽造的頁面,並用以下代碼捕獲了該頁面:

if ($_GET['fake_page'] == "myfakepage") {
  add_filter('the_title','plugin_myown_title');
  add_filter('the_content','plugin_myown_content');
  add_action('template_redirect', 'plugin_myown_template');
}

這正常工作。 現在我想做的就是重寫這樣的URL

my_site?fake_page=myfakepage

my_site/product/myfakepage

產品是從wordpress儀表板創建的現有頁面。

我遵循了此指南:

http://statichtml.com/2010/mod-rewrite-baseon-on-query-string.html

並定義了以下規則:

RewriteEngine On
RewriteCond %{QUERY_STRING}     ^fake_page=(.*)$    [NC]
RewriteRule ^/$       my_site/product/%1      [NC,L,R=301]

但是我得到的是

my_site/product?fake_page=myfakepage

問題出在哪里? 另外我想知道是否輸入瀏覽器:

my_site/product/myfakepage

我可以讓wordpress將其視為

 my_site?fake_page=myfakepage

沒有任何重定向。 謝謝!

在您的functions.php中嘗試以下代碼:

add_action( 'generate_rewrite_rules', 'my_rewrite_rules' );
function my_rewrite_rules( $wp_rewrite )
{
    $wp_rewrite->rules = array(
        'product/myfakepage/?$' => $wp_rewrite->index . '?fake_page=myfakepage',
    ) + $wp_rewrite->rules;
}

注意:您不需要該自定義.htaccess。 順便說一句:您不會直接修改.htaccess,永遠不會。 WordPress中有一個廣泛的Rewrite API ,可讓您應用自定義規則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM