我做了一个wordpress“ add_rewrite_rule”,以一种干净的方式访问2个GET变量。
但是到目前为止,它仅重定向而不是“伪装”,它也丢失了GET变量。 (该网站使用polylang作为插件)
我尝试包括add_rewrit_rule,将值添加为“标签”,...
function activateresetrule() {
add_rewrite_rule(
'^reset/([^/]*)/([^/]*)/?$',
'index.php?page_id=1330&email=$matches[1]&uuid=$matches[2]',
'top'
);
add_rewrite_rule(
'^activate/([^/]*)/([^/]*)/?$',
'index.php??page_id=1325&email=$matches[1]&uuid=$matches[2]',
'top'
);
//delete when fixed
global $wp_rewrite;
$wp_rewrite->flush_rules(false);
}
add_action( 'init', 'activateresetrule' );
add_filter( 'query_vars', 'activateresetrule_filter' );
function activateresetrule_filter( $query_vars ){
$query_vars[] = 'email';
$query_vars[] = 'uuid';
return $query_vars;
}
目标:https://www.site.be/reset/dfsdf/ddfsfds/ 应该与 https://www.site.be/reset&email=dfsdf&uuid=ddfsfds
当前重定向:/ dashboard / password-reset-mail /(无GET变量)(这是page_id 1330)
谢谢
答案 0 :(得分:0)
找到了解决方案:
现有WP页面:/ dashboard / password-reset-mail /?email=info@maximdegroote.be&uuid=96819e7d-c124-4610-9ae9-62ddb4adf678
新网址:/reset/info@maximdegroote.be/96819e7d-c124-4610-9ae9-62ddb4adf678 /
functions.php
private async Task CreateChangeFeed<T>(DocumentCollectionInfo feedCollectionInfo, DocumentCollectionInfo leaseCollectionInfo, ChangeFeedProcessorOptions options) where T : Azure.Documents.ChangeFeedProcessor.FeedProcessing.IChangeFeedObserver
{
var processor = await new ChangeFeedProcessorBuilder()
.WithHostName("CosmosDBDetectorHost")
.WithFeedCollection(feedCollectionInfo)
.WithLeaseCollection(leaseCollectionInfo)
.WithProcessorOptions(new ChangeFeedProcessorOptions()
{
FeedPollDelay = new TimeSpan(0, ChangeFeedOptionsConstants.MinutesInterval, 0),
MaxItemCount = ChangeFeedOptionsConstants.MaxItemCount,
})
.WithObserver<T>()
.BuildAsync();
}
thepage.php
function rewriteurl() {
global
$wp,$wp_rewrite;
$wp->add_query_var('email');
$wp->add_query_var('uuid');
$wp_rewrite->add_rule('^reset/([^/]*)/([^/]*)/?$', 'index.php?post_type=dashboard&page_id=1330&email=$matches[1]&uuid=$matches[2]', 'top');
// Reset permalinks, delete after programming
$wp_rewrite->flush_rules(false);
}