如何做nginx的重定向
发布网友
发布时间:2022-04-22 20:40
我来回答
共3个回答
热心网友
时间:2023-07-24 06:47
方法/步骤:
由于网站的url由动态改为了伪静态,原先的动态网址依然能够访问,导致原先的url的权重无法转移,所以对原来的url做301重定向,并在百度站长中提交网站改版请求。
网上的教程都是直接根据文件重定向的,对于单一入口的程序不适用,所以写下次教程。
示例:
if ($args ~* mod=item&act=view&id=(\d+) ) {
rewrite ^/(.*)$ http://$host/item/$arg_id.html? permanent;
}
$args是当前url问号后面的部分,相当于$query_string
$arg_id是id的值,格式为$arg_
rewrite是url重写命令
permanent代表的是返回301永久重定向状态码
$host为当前网站的域名部分
结尾的问号代表不会将url后面的参数一起带过去
^和$是代表的是正则匹配
if条件中的(\d+)代表的是数字参数,如777
注意:nginx中if命令不能嵌套,不能有多条件
if条件中的等号只有一个
注意if的空格问题
if条件中可以有多条url重写语句
重定向是基于文件的,示例中是适用于index.php?mod=a&act=b的结构
如:rewrite 文件A 重定向到某地址
示例:
rewrite ^/good.php$ http://$host permanent;
rewriet ^/good1.php$ http://$host/ permanent;
如果需要对网站的域名进行重定向,可参考以下示例:
将不带www的域名重定向到带www的域名
server{
......
server_name www.fsech.com fsech.com
......
if ($host = fsech.com) {
rewrite ^(.*)$ http://www.fsech.com permanent;
}
}
热心网友
时间:2023-07-24 06:47
由于网站的url由动态改为了伪静态,原先的动态网址依然能够访问,导致原先的url的权重无法转移,所以对原来的url做301重定向,并在百度站长中提交网站改版请求。
示例:
if ($args ~* mod=item&act=view&id=(\d+) ) {
rewrite ^/(.*)$ http://$host/item/$arg_id.html? permanent;
}
$args是当前url问号后面的部分,相当于$query_string
$arg_id是id的值,格式为$arg_
rewrite是url重写命令
permanent代表的是返回301永久重定向状态码
$host为当前网站的域名部分
结尾的问号代表不会将url后面的参数一起带过去
^和$是代表的是正则匹配
if条件中的(\d+)代表的是数字参数,如777
注意:nginx中if命令不能嵌套,不能有多条件
if条件中的等号只有一个
注意if的空格问题
if条件中可以有多条url重写语句
重定向是基于文件的,示例中是适用于index.php?mod=a&act=b的结构
如:rewrite 文件A 重定向到某地址
示例:
rewrite ^/good.php$ http://$host permanent;
rewriet ^/good1.php$ http://$host/ permanent;
如果需要对网站的域名进行重定向,可参考以下示例:
将不带www的域名重定向到带www的域名
server{
......
server_name www.fsech.com fsech.com
......
if ($host = fsech.com) {
rewrite ^(.*)$ http://www.fsech.com permanent;
}
}
热心网友
时间:2023-07-24 06:48
if ($http_referer !~ "^域名百度总乱屏蔽.*$"){
set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
rewrite /.*.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ /images.php;
}
nginx 301 302重定向跳转配置location/download/{rewrite^(/download/.*)/m/(.*)..*$$1/nginx-rewrite/$2.gzbreak;}nginx重定向的IF条件判断在server和location两种情况下可以使用nginx的IF条件判断,条件可以为以下几种:正则表达式如...
Nginx配置rewrite重定向跳转
1.功能:使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。2.位置:rewrite只能放在server{},location{},if{}中。3.作用域:只能对域名后边的除去传递的参数外的字符串起作用,例如...
Nginx 配置旧域名重定向到新域名
基本用法是:rewritepattenreplaceflag。patten是正则表达式,与patten匹配的URL会被改写为replace,而flag是可选的,可以有如下标志:例如,要将旧域名重定向到新域名上:如果是跳转到新域名上...
如何做nginx的重定向
方法/步骤:由于网站的url由动态改为了伪静态,原先的动态网址依然能够访问,导致原先的url的权重无法转移,所以对原来的url做301重定向,并在百度站长中提交网站改版请求。网上的教程都是直接根据文件重定向的,对于单一入口的...
谁懂nginx服务器的重定向怎么写
通过rewrite指令的permanent参数,可以实现301重定向:rewrite.*/newURL/permanent;将所有的请求重定向到/newURL上,permanent参数会使重定向成为永久重定向301,如果不加,就是302临时重定向...
nginx如何配置https的301重定向,以及nginx的检查重启命令是什么?_百度...
执行:./nginx-t如果出现……ok和……success语句,则正面文件配置正确执行:./nginx-sreload这个时候不会出现任何提示,Nginx的301重定向就已经完成了。注意事项:进入sbin目录下执行命令,前面一定要加上./...
nginx-80重定向443
3、重新加载nginx我这边之前80和443是写在一个server里的,偷懒了,直接把80摘出来,正常可以加一个仅包含443相关的server,然后直接把rewrite加到server_name下就行另一种方法:return301https://$server_name$re...
如何设置301/302重定向
break–中止Rewirte,不在继续匹配redirect–返回临时重定向的HTTP状态302permanent–返回永久重定向的HTTP状态301Nginx的重定向用到了Nginx的HttpRewriteModule,下面简单解释以下如何使用的方法...
怎么把nginx子目录301重定向到网站二级域名
location~*^/bbs/{rewrite^/download/(.*)$http://download.phpwindow.com/$1permanent;}不添加这个conf应该也可以,直接写到nginx.conf文件里就可以了。之后重启nginx—servicenginxreload,访问看看效果吧!!
Nginx环境下如何进行批量301重定向
用这个可以进行301批量重定向