nginx怎么根据url前缀实现301重定向?

作者&投稿:桓饱 (若有异议请与网页底部的电邮联系)
Nginx中如何配置某个域名做301跳转呢?~

可以用$host变量来判断,
在server配置文件中类似这样设定:


if ($host = 'a域名') {
rewrite ^/(.*)$ B域名 /$1 permanent;
}


上面配置代码判断如果域名是 A域名 则做301重定向到 B域名。

通过rewrite指令的permanent参数,可以实现301重定向:

rewrite .* /newURL/ permanent;

将所有的请求重定向到/newURL上,permanent参数会使重定向成为永久重定向301,如果不加,就是302临时重定向

“晚上九点,办公室里烟雾缭绕,工作进度依然没有什么进展。王二胖打开了十来个页面,一篇篇技术文章打开,关闭,Nginx不停的重启测试,在试过十来篇技术文章中的方案,经过两个小时的测试之后,王二胖终于找到了一个解决301错误跳转的可行解决方案。时间已经到了晚上十一点多。”

这样的场景,在我们的办公室里天天可见。互联网上有很多Nginx 301问题处理方案的错误解答,比如自动加斜杠,端口丢失,暴露内部端口号等,极多量的文章基本就是人云亦云,没有完全弄明白Nginx如何处理301状态码的。甚至对于一些关键性的配置信息的解释是完全错误的。本着源代码就是最正确的文档的原则,我阅读了一遍Nginx处理301问题的相关源代码。

种方法是性能上最优的,因为rewrite指令有很多写法和规则,执行完所有正则匹配后,Nginx 才会知道这是一个301永久重定向。

他那钱做一般都是定向的,如果要是有别的特殊特殊情况就不一样。

这个我也看不懂,请查查网络

这个是什么意思?是这是编程语言还是什么?


我的freebsd系统下Nginx PHP提示出现The page you are looking for i...
然后重启:# \/usr\/local\/bin\/spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -f \/usr\/local\/bin\/php-cgi 5.重启Nginx 先杀掉进程:# killall -9 nginx 然后重启:# \/usr\/local\/sbin\/nginx 其它可能情况:1)访问任意PHP文件,出现 The page you are looking for is temporarily ...

Ingress-nginx日志切割与轮循方案
从history看,这个镜像也只是在alpine之上,安装了bash,logrotate软件,然后,拷贝并启动了start.sh文件。二, Dockerfile 为了不与k8s绑死,我们不使用configmap作配置文件,而是使用使用环境变量生成nginx.log配置。Dockerfile nginx.log模板 start.sh重写 脚本使用传入的环境变量,替换掉nginx.log模板文件中...

Linux如何查询哪些端口被占用
例如,您可以在同一系统上安装Apache和Nginx服务器。因此,有必要了解Apache或Nginx是否使用TCP端口80或443。本教程提供了使用netstat、nmap和lsof命令查询正在使用的端口并查看正在使用该端口的应用程序的步骤。如何查询端口是否在使用中: 检查Linux上被占用的端口和应用程序:Step1: 打开终端 Step2: 执行...

玩客云刷机Armbian5.9+docker+宝塔面板+可道云,实现低成本家庭私有云...
sudo nano \/etc\/fstab完成后,给\/home\/udisk目录添加权限,然后在宝塔下创建对应目录:sudo chmod 777 \/home\/udisk...6. 完成部署与验证编辑Docker的config.v2.json文件,添加U盘挂载配置,重启Docker、宝塔、PHP、Nginx和Redis服务。在可道云后台中,新增磁盘并挂载到容器文件夹。验证U盘挂载是否成功:....

javafx 访问部分url提示 403 Forbidden nginx\/1.12.1
例如"Mozilla\/5.0(Macintosh;U;IntelMacOSX10_6_8;en-us)AppleWebKit\/534.50(KHTML,likeGecko)Version\/5.1Safari\/534.50"为什么要设置UserAgent?1 有的网站为了防止爬虫恶意爬取信息, 可能会屏蔽一些UserAgent.2 有的网站会根据UserAgent 来识别操作系统和浏览器, 然后展示不同的排版, 比如很多网站...

k8s-ingress控制器
https:\/\/kubernetes.github.io\/ingress-nginx\/examples\/auth\/client-certs\/ 创建自签证书 外部访问 https:\/\/www.ingress.com:30700\/ 根据查看配置文件及测试发现 只要配置了tls,所有ingress的所有域名都有https Basic Authentication 本示例说明如何使用包含由生成的文件的机密在Ingress规则中添加身份验证 ...

linux中怎么样修改用户权限?
只能有一个ROOT帐号。想要普通用户有权限,以ROOT帐号登陆,然后输入chmod o +rw [fileName]。建议你用man chmod看看chmod的详细说明。修改权限:1)管理用户(user)的工具或命令;useradd 注:添加用户adduser 注:添加用户passwd 注:为用户设置密码usermod 注:修改用户命令,可以通过usermod 来修改...

如何创建域名
问题五:注册域名后怎么建网站 向运营商租一个主机,或者自己去阿里云、腾讯云买一个虚拟主机。 将你的网站部署到服务器上。 使用apache,或者nginx将这个域名映射到你的网站应用上。 配置域名,将IP解析到你的主机上。 做完以上的,就OK了。 问题六:怎么建立网站,网址是怎么申请的 可直接到今日创业网站注册,...

linux安装禅道用nginx行吗_禅道安装教程linux
linux一键安装包内置了apache,php,mysql这些应用程序,只需要下载解压缩即可运行禅道。从7.3版本开始,linux一键安装包分为32位和64位两个包,请大家根据操作系统的情况下载相应的包。1、将安装包直接解压到\/opt目录下,不要解压到别的目录...

新手如何自学linux
Linux重要网络服务包括:http协议\/www服务基础、nginx web介绍及基础实践、nginx web、lnmp环境部署\/数据库异机迁移\/共享数据异机迁移到NFS系统、nginx负载均衡、keepalived高可用等。第七阶段:Ansible自动化运维与Zabbix监控 Ansible自动化运维与Zabbix监控包括: SSH服务秘钥认证、ansible批量自动化管理集群、 ...

巴音郭楞蒙古自治州18679615080: 怎么利用nginx进行url重写实现伪静态 -
黄娅先舒: Nginx的Rewrite规则和Apache的Rewite规则差别不是很大,几乎可以直接使用.比如在Apache中这样写规则 rewrite ^/([0-9]{5}).html$ /viewthread而在Nginx中写成这样写是无法启动的,解决的办法是加上两个双引号:rewrite "^/([0-9]{5}).html$" ...

巴音郭楞蒙古自治州18679615080: 求教如何写Nginx配置文件,实现url重写? -
黄娅先舒: 在abc的主机上设置这个rewrite,假设你的id都是数字这个是rewrite的方案,最后的效果,网址还是member/index.php?id=xxx rewrite ^([^\.]*)/member/index.php?id=([0-9]+)$ http://i.abc.com/$2 last;你如果最后想效果是 abc.com/xxx的话,只能在php上面作判断,然后用php的header作跳转.

巴音郭楞蒙古自治州18679615080: nginx配置文件重写url:去掉地址栏参数值为空的参数的正则怎么写? -
黄娅先舒: URL重写有利于网站首选域的确定,对于同一资源页面多条路径的301重定向有助于URL权重的集中 Nginx URL重写(rewrite)介绍 和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向.Nginx的rewrite功能需要PCRE软件...

巴音郭楞蒙古自治州18679615080: nginx使用URL hash进行负载均衡,如何在不影响hash结果的情况下实现高可用? -
黄娅先舒: 在使用 nginx的 cache时,使用 hash $request_uri; 再加一下行 hash_again 1; 注意,这个是Nginx的的三方模块算法,但是tengine的 consistent_hash 算法是不行的, 还是有连接转到故障后端,

巴音郭楞蒙古自治州18679615080: 如何设置301/302重定向 -
黄娅先舒: 首先看一个完整代码示例,关于nginx 301 302跳转的.301跳转设置:server {listen 80;server_name downcc;rewrite ^/(;rewrite ^/(.*) /$1 permanent;}last – 基本上都用这个Flag.break – 中止Rewirte,不在继续匹配redirect ...

巴音郭楞蒙古自治州18679615080: http怎么做自动跳转https -
黄娅先舒: 首先需要部署好HTTPS证书的服务器,以下是几种版本的跳转方法:一、APache 版本1、如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容:RewriteEngine onRewriteCond %{SERVER_PORT} !^443$RewriteRule ...

巴音郭楞蒙古自治州18679615080: nginx如何处理一个请求 -
黄娅先舒: Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一个简单的配置(其中全部3个虚拟主机都在端口*:80上监听)开始:server { listen 80; server_name example.org www.example.org; ... }server { listen 80; server_name example.net www....

巴音郭楞蒙古自治州18679615080: nginx如何实现跳转但是url不变 -
黄娅先舒: if ( $query_string ~ "view=string" ) { rewrite ^/default.html hbz/? redirect; }

巴音郭楞蒙古自治州18679615080: nginx 怎么实现二级域名跳转到指定 URL -
黄娅先舒: server { listen 80; server_name 二级域名; location / { rewrite ^/(.*)$ 重定向的域名$1 permanent; } } ```

巴音郭楞蒙古自治州18679615080: nginx 将请求代理到后台特定的服务器 怎么实现 -
黄娅先舒: 既然url中有关键字,然后根据关键字做转发好了 直接location 正则匹配,然后代理到特定机器

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网