.htaccess 使用mod rewrite创建规范搜索结果URL

.htaccess 使用mod rewrite创建规范搜索结果URL,.htaccess,mod-rewrite,canonicalization,.htaccess,Mod Rewrite,Canonicalization,我有一个搜索引擎在我的网站上有两个搜索参数,位置和查询。我想在一个页面上显示结果,页面的标准URL为/search/location/query 我尝试将搜索的目标对准一个不存在的PHP文件,然后使用my.htaccess重写该文件: # search bar rewrites RewriteRule ^search.php?query=([A-Za-z_-]+)&location=([A-Za-z_-]+)$ /search/$1/$2/ [R] 然而,这似乎不起作用,在将搜索表单设

我有一个搜索引擎在我的网站上有两个搜索参数,位置和查询。我想在一个页面上显示结果,页面的标准URL为/search/location/query

我尝试将搜索的目标对准一个不存在的PHP文件,然后使用my.htaccess重写该文件:

# search bar rewrites
RewriteRule ^search.php?query=([A-Za-z_-]+)&location=([A-Za-z_-]+)$ /search/$1/$2/ [R]

然而,这似乎不起作用,在将搜索表单设置为post GET to search.php之后,我只得到了一个404。我希望不必使用Javascript直接将表单提交到规范url——我可以用mod rewrite动态重写它吗?

更好的方法不是将表单从
get
更改为
post


一般来说,漂亮的URI是用于实际位置而不是搜索结果。

我的搜索不同于一般的开放式搜索,因为人们搜索的值非常有限,足以让它看起来更像一个“位置”而不是搜索结果,但也不足以证明没有搜索框。