Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex htaccess从url获取参数并重定向_Regex_.htaccess_Redirect_Regex Group - Fatal编程技术网

Regex htaccess从url获取参数并重定向

Regex htaccess从url获取参数并重定向,regex,.htaccess,redirect,regex-group,Regex,.htaccess,Redirect,Regex Group,我想将搜索结果页面重定向到新页面。旧url如下所示: /תוצאות_חיפוש:search_keyword /?s=search_keyword&post_type=product 我需要它看起来像这样: /תוצאות_חיפוש:search_keyword /?s=search_keyword&post_type=product search\u关键字是用户寻找的,意思是他正在寻找的术语。这意味着这不应该改变。例如,如果有人搜索“衬衫”,旧url将如下所示: /

我想将搜索结果页面重定向到新页面。旧url如下所示:

/תוצאות_חיפוש:search_keyword
/?s=search_keyword&post_type=product
我需要它看起来像这样:

/תוצאות_חיפוש:search_keyword
/?s=search_keyword&post_type=product
search\u关键字
是用户寻找的,意思是他正在寻找的术语。这意味着这不应该改变。例如,如果有人搜索“衬衫”,旧url将如下所示:

/תוצאות_חיפוש:shirts
/?s=shirts&post_type=product
而新的将看起来像:

/תוצאות_חיפוש:shirts
/?s=shirts&post_type=product
我已经尝试了在StackOverflow上找到的多种解决方案,但都没有成功

如何创建此重定向?

尝试使用以下方法:

url_string_name.replace(@"^\/תוצאות_חיפוש:", "/?s=");
这将替换url的开头。然后:

url_string_name.replace(@"$", "&post_type=product");
这将替换url的结尾;
^
表示字符串的开头,
$
表示字符串的结尾。
祝你好运

您必须捕获搜索字符串并在替换URL中使用它

RewriteRule ^תוצאות_חיפוש:(.+)$ /?s=$1&post_type=product [L]
有关详细信息,请参阅和


虽然,我在.htaccess文件中从未见过ASCII以外的内容, 我刚刚在我的测试环境中检查了这个。尽管如此,Apache还是将此请求记录为

172.17.0.1--[2019年5月12日:14:58:39+0000]“获取/%D7%AA%D7%95%D7%A6%D7%90%D7%95%D7%AA_574;%D7%97%D7%99%D7%A4%D7%95%D7%A9:shirts HTTP/1.1“200 268”-“Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如Gecko)Chromium/73.0.3683.86/3683.537”


在mod_rewrite中,重写规则接收解码后的信息

单词“是常量”吗是的,他们是。它的意思是“搜索结果”,重定向的规则是什么?“搜索关键字”的值是否可以更改?请展开。@utor我编辑了这个问题,希望它现在能更有用。你也可以不用正则表达式,只需使用“替换”和“添加”就可以完成。它应该在某个代码之后,比如
上的重写引擎,还是在htaccess文件的任何地方?我想你可以在任何地方编写它。你试过了吗?我想是因为Hebrew@starkeen我懂了。我如何在htaccess文件中或者在发送任何头之前通过php完成这样的事情?(我正在使用WordPress)