如何通过子目录替换参数

时间:2019-03-05 15:04:29

标签: web nginx host

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

mywebsite.com/search.html?query=cat

因此,我正在从url参数提取查询,因为您现在可以看到查询为'cat'
由于某些搜索引擎优化的原因,这不是一个好习惯,因此我想将上述格式替换为以下格式:

mywebsite.com/search/cat

在不实际更改当前文件的情况下,是否有任何方法可以达到这种效果?现在,我在nginx服务器中托管ubuntu的网站。任何建议都将不胜感激。

预先感谢

2 个答案:

答案 0 :(得分:1)

您只需在NGINX配置(在server {...}块中)中执行以下重写:

rewrite ^/search/(.*)$ /search.html?query=$1 last;

答案 1 :(得分:0)

SO中有成千上万的示例。

不过,这里有个建议:

RewriteEngine on 

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

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