Web 如何用子目录替换参数

Web 如何用子目录替换参数,web,nginx,host,Web,Nginx,Host,目前,我有我的搜索页面托管如下 所以我从url参数中提取查询,因为您现在可以看到查询是“cat”。 出于某些seo原因,这不是一个好的做法,因此我想将上述格式替换为以下格式: mywebsite.com/search/cat 有没有办法在不实际更改当前文件的情况下实现这样的结果?现在我正在ubuntu服务器上用nginx托管这个网站。非常感谢您的任何建议 提前感谢在SO中有成千上万的例子 然而,这里有一个建议: RewriteEngine on RewriteRule ^/?search/

目前,我有我的搜索页面托管如下

所以我从url参数中提取查询,因为您现在可以看到查询是“cat”。 出于某些seo原因,这不是一个好的做法,因此我想将上述格式替换为以下格式:

mywebsite.com/search/cat
有没有办法在不实际更改当前文件的情况下实现这样的结果?现在我正在ubuntu服务器上用nginx托管这个网站。非常感谢您的任何建议


提前感谢

在SO中有成千上万的例子

然而,这里有一个建议:

RewriteEngine on 

RewriteRule ^/?search/(.+)/?$ /search.html?query=cat [END,QSA]

RewriteCond ${QUERY_STRING} (^|&)query=(.*)(&|$)
RewriteRule ^/?search\.html$ /search/%1 [R=301]

您只需在服务器{…}块中的NGINX配置中执行以下重写:


这个问题是针对nginx服务器的。@DanilaVershinin抱歉,我没有注意到这一点,事实上,这个问题自相矛盾。它被显式标记为.htaccess…感谢您的回答,但它将我重定向到以前的url。
RewriteEngine on 

RewriteRule ^/?search/(.+)/?$ /search.html?query=cat [END,QSA]

RewriteCond ${QUERY_STRING} (^|&)query=(.*)(&|$)
RewriteRule ^/?search\.html$ /search/%1 [R=301]
rewrite ^/search/(.*)$ /search.html?query=$1 last;