在我的网站上,我有自己的自定义php文件,用于处理URL GET请求。例如,在mysite。com/?burger=做得好,它将查询我的数据库,并在相应的数据库字段中显示一个包含所有带有“做得好”的汉堡的页面。
我想做的是通过mysite访问它。连续5个小时后,都没有成功。
我尝试过插件,我尝试过重写htaccess,我尝试过拒绝htaccess的写入权限,在当前状态下,我正在使用takien的“重写”插件。
在插件之前,访问mysite。com/burger/WellDone只会显示未找到的页面。现在,在rewrite插件的(下面)中输入我的regex后,它会将我的regex添加到wp\\u options db rewrite\\u rules的开头,并在我导航到mysite时添加。com/burger/WellDone,它现在将我重定向到“mysite.com”的索引,而不是mysite。com/?汉堡=做得好。
这是我的regex和match:
^burger/([a-zA-Z0-9_/-/s]+)/?$
index.php?Burger=$matches[1]
如上所述,输入我的URL作为mysite。com/?burger=WellDone的表现与预期一样完美,但mysite。com/burger/WellDone只是循环回到主页。
Edit:
感谢Welcher,我将此代码添加到函数中。php,但仍重定向到索引:
function add_burger_query_vars_filter( $vars ){
$vars[] = "burger";
return $vars;
}
add_filter( \'query_vars\', \'add_burger_query_vars_filter\' );
function custom_rewrite() {
$this_burger = get_query_var(\'burger\');
add_rewrite_rule(
\'^burger/([a-zA-Z0-9_/-/s])/?$\',
\'index.php?Burger=\'.$this_burger,
\'top\'
); //*/
}
add_action(\'init\', \'custom_rewrite\');