PHP 实现http重定向https 或不带www的域名跳转到主域名

通过代码的方式的,比较简洁,容易控制.通过iis管理器的url重写或301重定向,总是出现各种冲突问题

以下代码解释.如果访问的url中,不是https安全链接.或者是不带www的域名,则说明都不符合本站的要求,那么,都需要进行完整链接(https://www.12.com)的跳转,不再做进一步的判断

if ($_SERVER['HTTPS'] == 'off' or $_SERVER['HTTP_HOST']=== '12.com' ) {// 静态跳转到 www.12.com ,域名写死了,如果以后修改域名,或网站有多个域名.可能会遇到问题.$redirectURL = 'https://www.12.com'  . $_SERVER['REQUEST_URI'];header('HTTP/1.1 301 Moved Permanently');header('Location: ' . $redirectURL);exit();
}

如果不关心www主域名问题.则直接判断是否是https就行了,以下是百度上的答案


// 检查是否是HTTP
if ($_SERVER['HTTPS'] !== 'on') {// 是HTTP,计算当前URL的路径$current_url = $_SERVER['REQUEST_URI'];// 用的动态域名,不影响多域名问题header('HTTP/1.1 301 Moved Permanently');header('Location: https://' . $_SERVER['HTTP_HOST'] . $current_url);exit(); 
}
// 其他代码...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/745172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI 大模型赋能手机影像,小米14 Ultra 让真实有层次

2月22日,小米龙年第一场重磅发布会,正式发布专业影像旗舰小米14 Ultra。 此前小米发布的两代 Ultra,在不同维度,引领了移动影像行业的走向。最新的小米14 Ultra 在定义的时候,我们反复在思考:怎么才能把移动…

一站式解决方案:uni-app条件编译及多环境配置,appid动态修改攻略!

前言 这篇文章主要介绍uniapp在Hbuilderx 中,通过工程化,区分不同环境、动态修改小程序appid以及自定义条件编译,解决代码发布和运行时手动切换到问题。 背景 在企业级的应用中,通常会分为,开发、联调、生产等多个环…

基于单片机的电子琴设计

基于单片机的电子琴设计 摘 要 读书、看电影、听音乐,都是最常见的丰富内心世界的良剂。听音乐,作为陶冶情操、提升境界最便捷的方式,正受到越来越多人们的欢迎。音乐可以很轻松的融入各种场合,给人们带来很轻松的氛围&#xff…

ChatGPT-Next-Web SSRF漏洞+XSS漏洞复现(CVE-2023-49785)

0x01 产品简介 ChatGPT-Next-Web 是一种基于 OpenAI 的 GPT-3.5 、GPT-4.0语言模型的产品。它是设计用于 Web 环境中的聊天机器人,旨在为用户提供自然语言交互和智能对话的能力。 0x02 漏洞概述 2024年3月,互联网上披露CVE-2023-49785 ChatGPT-Next-Web SSRF/XSS 漏洞,未经…

开源免费CasaOS:轻松打造高效便捷的家庭云生活新体验

一、引言 随着科技的不断发展,家庭云系统逐渐成为现代家庭生活中的重要组成部分。CasaOS作为一款简单易用的开源家庭云系统,受到了广大用户的青睐。其简洁明了的界面设计,使得即使没有任何技术背景的用户也能轻松上手。本文将详细介绍CasaOS…

若依中配置mybatis展示所有sql

在配置文件中加入下面这句 configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

什么是制作视频内容?如何搞好视频内容制作?

写在前面 视频内容已成为希望吸引数字观众的企业、品牌和创作者的必备资产。事实上,根据NogenTech的一份报告,在2023年,91%的营销部门使用了这种动态内容。 视频内容创作和优化性能的技巧和窍门的增加绝非巧合。TikTok以及Instagram Reels和…

#LLM入门|Prompt#3.3_存储_Memory

在与语言模型交互时,一个关键问题:记忆缺失使得对话缺乏真正的连续性。 因此,接下来介绍 LangChain 中的储存模块,即如何将先前的对话嵌入到语言模型中的,使其具有连续对话的能力。 当使用 LangChain 中的储存(Memory)…

ChatGPT的核心技术

ChatGPT的核心技术主要包括以下几个方面: 语言模型:ChatGPT使用的是基于Transformer架构的语言模型,这种模型具有强大的处理能力和较低的学习成本,能够更好地处理自然语言中的语法和语义。预训练模型:ChatGPT采用了预…

基于SpringBoot+Druid实现多数据源:baomidou多数据源

前言 本博客姊妹篇 基于SpringBootDruid实现多数据源:原生注解式基于SpringBootDruid实现多数据源:注解编程式基于SpringBootDruid实现多数据源:baomidou多数据源 一、功能描述 支持 数据源分组 ,适用于多种场景 纯粹多库 读写…

linux安全--Nginx与Tomcat实现负载均衡

目录 1.实验拓扑原理图,前提实现全网互通 2.找到nginx的conf目录中的nginx.conf文件 3.实验效果 1.实验拓扑原理图,前提实现全网互通 搭建全网互通可以看https://blog.csdn.net/m0_74313947/article/details/136008513?spm1001.2014.3001.5501 搭建N…

SQLiteC/C++接口详细介绍之sqlite3类(七)

上一篇:SQLiteC/C接口详细介绍之sqlite3类(六) 下一篇: SQLiteC/C接口详细介绍之sqlite3类(八)(未发表) 22.sqlite3_create_collation、sqlite3_create_collation16和sqlite3_creat…

Unload-labs-pass-03

这里是设置了黑名单不能传.asp.aspx.php.jsp文件 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.asp,.aspx,.php,.jsp);$file_name trim($_FILES[upload_file][name]);$file_name deldot($file_name);//删…

Python实现BOA蝴蝶优化算法优化循环神经网络回归模型(LSTM回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蝴蝶优化算法(butterfly optimization algorithm, BOA)是Arora 等人于2019年提出的一种元启发式智能算…

C# 中的 List<int> 和 int[] ?

区别 List<int>和int[]都可以用来存储整数集合&#xff0c;但它们之间有一些重要的区别&#xff1a; 大小可变性&#xff1a;List<int>的大小是可变的&#xff0c;你可以随时添加或删除元素&#xff0c;而int[]的大小在创建时就固定了&#xff0c;不能再改变。 方…

报表生成器FastReport .Net用户指南:关于脚本(上)

FastReport的报表生成器&#xff08;无论VCL平台还是.NET平台&#xff09;&#xff0c;跨平台的多语言脚本引擎FastScript&#xff0c;桌面OLAP FastCube&#xff0c;如今都被世界各地的开发者所认可&#xff0c;这些名字被等价于“速度”、“可靠”和“品质”,在美国&#xff…

微信小程序自动化测试pytest版工具使用方法

-mini https://github.com/zx490336534/pytest-mini 微信小程序自动化测试pytest插件/工具 基于MiniTest进行pytest改造 使用方法 准备测试小程序 根据miniprogram-demo项目介绍运行一次项目 成功运行后关闭 安装&更新 pip install pytest-mini --upgrade引入插件…

Selenium库原代码WebDriver及WebElement方法属性总结

简单示例&#xff1a; from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as ECdriver webdriver.Chrome()try:driver.ge…

docker 部署redis

1. 拉取redis镜像 docker pull redis2. 创建持久化存储&#xff0c;日志&#xff0c;配置文件目录 mkdir -p /docker/redis/{conf,data,log} 3. 创建日志文件 在上面创建的log文件夹中创建日志文件 touch /docker/redis/log/redis.log4. 配置配置文件 下载配置文件地址&am…

npm、nodejs和vue之间关系和区别介绍

本文讲解npm、Node.js和Vue.js这三者之间的关系和区别&#xff0c;以及它们各自的特点。 首先&#xff0c;让我们来了解一下Node.js。 **Node.js** 是一个开源的服务器端运行环境&#xff0c;它允许开发者使用JavaScript来编写服务器端的代码。在传统的Web开发中&#…