Custom rewrite not working

时间:2019-01-22 作者:Kris

我正试图重写wordpress网站上的URL,以符合谷歌的“seo友好”政策。我想为搜索插件生成的3种查询重写URL:

a) Location

实例com/二手车/?样式1\\u nonce=5bcd0fed69;位置=london&;自动品牌=&;自动建模(&M);车型年份=&;燃油类型=&;价格范围=540%2C43000;自动键入=&;搜索自动=

将成为:

实例com/二手车/london/

哪里london 可以是基于用户搜索条件的任何位置。

b) Location + brand:

实例com/二手车/?样式1\\u nonce=5bcd0fed69;位置=london&;自动品牌=audi&;自动建模(&M);车型年份=&;燃油类型=&;价格范围=540%2C43000;自动类型=&;搜索自动=

将成为:

实例com/二手车/london/audi/

哪里londonaudi 可以是基于用户搜索条件的任何位置/品牌。

c) Location + brand + model:

实例com/二手车/?样式1\\u nonce=5bcd0fed69;位置=london&;自动品牌=audi&;自动建模=AUDI+A1&;车型年份=&;燃油类型=&;价格范围=540%2C43000;自动键入=&;搜索自动=

将成为:

实例com/二手车/london/audi/audi+a1/

哪里london, audiaudi a1 根据用户标准,系列可以是任何位置/品牌/型号。

搜索结果URL显示nonce 这对于每个用户都是不同的。我想从“友好URL”中跳过它,这样我就可以在Google中为这些URL编制索引。

1. 我尝试过,但没有成功:

Rule Pattern:

一二model八:

index.php?style1_nonce=$matches[1]&location=$matches[2]autobrand=$matches[3]&automodel=$matches[4]&modelyear=&fueltype=&priceRange=540%2C43000&autotype=&searchauto=
2. 下列的https://codex.wordpress.org/Rewrite_API/add_rewrite_rule 我尝试过测试自定义重写,并在函数中添加了以下代码。php文件:

function custom_rewrite_basic() {
  add_rewrite_rule(\'^testrewrite/([0-9]+)/?\', \'index.php?page_id=$matches[1]\', \'top\');
}
add_action(\'init\', \'custom_rewrite_basic\');
我已刷新并重新生成重写规则数据库,但测试重写接缝无法访问http://example.com/testrewrite/38 返回404。

3. Mod\\u Rewrite已启用。

sudo a2enmod rewrite 
Module rewrite already enabled
有什么建议吗?:)

1 个回复
最合适的回答,由SO网友:Tejas Gajjar 整理而成

尝试添加此项

function add_rewrite_rules() {
    $newrules = array(\'^testrewrite/([0-9]+)/?\'=> \'index.php?page_id=$matches[1]\');

    return $newrules ;
}
add_filter(\'rewrite_rules_array\', \'add_rewrite_rules\');
让我知道它是否起作用。

相关推荐