nginx伪静态怎么写成/index?id=xxx等于/xxx.html

nginx伪静态怎么写成/index?id=xxx等于/xxx.html例如访问/index?id=123等于/123.html/index?id=456等于/456.h... nginx伪静态怎么写成/index?id=xxx等于/xxx.html
例如访问/index?id=123等于/123.html
/index?id=456等于/456.html
展开
 我来答
西湖浣春b
2018-09-12 · TA获得超过1157个赞
知道小有建树答主
回答量:108
采纳率:80%
帮助的人:28.6万
展开全部
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}

全部重写就这样。

你这个不应该是/index?id=123。应该是/index.php?id=123。

301这样写

# 301 --- http://www.test.com/index.php?id=123 => http://www.test2.com/123.html
RewriteCond %{HTTP_HOST} ^www\.test\.com$
RewriteCond %{QUERY_STRING} (^|&)id=123($|&)
RewriteRule ^index\.php$ http://www.test2.com/123.html? [L,R=301]

rewrite这样写

# Rewrite --- http://www.test.com/index.php?id=123 => http://www.test2.com/123.html
RewriteCond %{HTTP_HOST} ^www\.test\.com$
RewriteCond %{QUERY_STRING} (^|&)id=123($|&)
RewriteRule ^index\.php$ http://www.test2.com/123.html?&%{QUERY_STRING}
更多追问追答
追问
如果我想改成/qq.php?id=xxx等于/xxx.html或者是/qq.php?id=xxx等于/xxx那该怎么写呢?参数不是固定的
追答

rewrite ^(.*)/qq/([0-9]+)\.html $1/qq.php?id=$2 last;

rewrite ^(.*)/index/([0-9]+)\.html $1/index.php?id=$2 last;

那你就这样写,这样分开写的好处是你可以随意的调整你想调整的栏目。系统性能方面不会受什么影响,SEO方面也有的选择。 

最好就是你把你使用的php程序告诉我,是什么cms还是博客,论坛,或者商城。能更好的给你解决。

记得配置完规则文件之后要重启nginx

Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式