Custom URL routes

时间:2018-12-16 作者:PythonEnthusiast

我是Wordpress的新手,所以如果我问一个noob问题,请原谅。

我想将一些URL重定向到特定页面(single deal.php)。现在,我的服务器上不存在这些URL集(为这些URL提供的regex)。所以,目前我的WP返回404错误。但是,我仍然想加载single-deal.php 让它来决定吧。

我的single-deal.php 向API发出GET请求,之后将进行处理。

对于eg:-如果我有url(对于eg)/properties/1/ 它的永久链接在我的WP设置中不可用,我想加载它single-deal.php 页面,并让我的API决定进一步的处理。

以下是我在其他多个网站上读到的内容questions:-

add_action( \'init\', \'wpse26388_rewrites_init\' );
function wpse26388_rewrites_init(){
    add_rewrite_rule(
        \'properties/([0-9]+)/?$\',
        \'single-deal.php?pagename=single-deal&property_id=$matches[1]\',
        \'top\' );
}

add_filter( \'query_vars\', \'wpse26388_query_vars\' );
function wpse26388_query_vars( $query_vars ){
    $query_vars[] = \'property_id\';
    return $query_vars;
}

1 个回复
SO网友:Milo

所有内部重写规则必须指向index.php. 这不是主题文件,而是WordPress安装根目录中的主引导文件。因此,您的规则应该如下所示:

add_action( \'init\', \'wpse26388_rewrites_init\' );
function wpse26388_rewrites_init(){
    add_rewrite_rule(
        \'properties/([0-9]+)/?$\',
        \'index.php?pagename=single-deal&property_id=$matches[1]\',
        \'top\'
    );
}
然后可以分配deal.php 模板到您的single-deal 页面,或者您可以使用page_template 如果要应用条件模板加载,请进行筛选,例如仅当property_id 已设置查询变量。

相关推荐

How To Fix A Redirect Chain

我希望有人能帮上忙。我的网站爬网显示我的主页上有一个重定向链。基本上,这表明我正在从:http: > https: > https://www.我需要一切http:// 和http://www 直接发送至https://www. 没有链条。以下是.htaccess, 有人能看到是否有可能导致它的错误吗。</IfModule> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ h