[英]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.