目前,我的搜索页面如下所示托管
mywebsite.com/search.html?query=cat
因此,我正在从url参数提取查询,因为您现在可以看到查询为'cat'
。
由于某些搜索引擎优化的原因,这不是一个好习惯,因此我想将上述格式替换为以下格式:
mywebsite.com/search/cat
在不实际更改当前文件的情况下,是否有任何方法可以达到这种效果?现在,我在nginx
服务器中托管ubuntu
的网站。任何建议都将不胜感激。
预先感谢
答案 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]