Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将用户从网页或其他网页重定向到网页_Php_Html_Http_Redirect_Https - Fatal编程技术网

Php 如何将用户从网页或其他网页重定向到网页

Php 如何将用户从网页或其他网页重定向到网页,php,html,http,redirect,https,Php,Html,Http,Redirect,Https,我需要这样的东西 <?php if http://growtopiajaw.my.vg else if https://growtopiajaw.my.vg then header('Location: https://growtopiajaw.my.vg/homepage.html', true, 301); exit(); ?> 基本上,如果我输入URL growtopiajaw.my.vg,它将自动重定向到。但当我输入URL时,它将在一个无限循环中不断

我需要这样的东西

<?php
  if http://growtopiajaw.my.vg
  else if https://growtopiajaw.my.vg
  then
  header('Location: https://growtopiajaw.my.vg/homepage.html', true, 301);
  exit();
?>

基本上,如果我输入URL growtopiajaw.my.vg,它将自动重定向到。但当我输入URL时,它将在一个无限循环中不断刷新

我知道有些人会尝试访问该页面

我不希望我的网站对用户造成问题。此外,您还可以尝试访问该网站。您可以看到,它不断刷新页面

所以,我向任何能帮助我的人寻求帮助。谢谢大家!

编辑:

好吧,我的问题不太清楚。我的意思是这样的。重定向并(如果用户访问此URL)到https上的特定页面,该页面将生成链接。我目前在中有下面的代码


服务器将自动加载index.html,以便重定向到https:/growtopiajaw.my.vg/homepage.html页面。(我不能发布超过8个链接。对不起)

在根目录中放置一个名为
index.php
的php文件。在其中编写代码

<?php
  header('Location: https://growtopiajaw.my.vg/homepage.html');
  exit;

在根目录中放置一个名为
index.php
的php文件。在其中编写代码

<?php
  header('Location: https://growtopiajaw.my.vg/homepage.html');
  exit;

所以这里有两种可能的情况

场景1-将所有
HTTP
流量重定向到
HTTPS
您只需在项目根目录中添加一个
.htaccess
,即可实现此目的,其中包含以下内容

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
注意这里重定向的类型。。。它是
301
转换为永久性重定向(而
302
转换为临时性重定向)

场景2-将登录页重定向(仅)到
HTTPS
登录页基本上是
page\u NAME.EXT
。这可以有多种形式。。。例如,考虑以下主机托管程序的摘录——

我们的Web服务器按以下顺序查找索引文件:

index.html index.htm index.shtml index.php index.php5 index.php4 index.php3 index.cgi default.html default.htm home.html home.htm Index.html Index.htm Index.shtml Index.php Index.cgi Default.html Default.htm Home.html Home.htm placeholder.html

如果 您的网站包含一个具有这些名称的文件,该文件将 当访问者未指定文件名时显示

为了简单起见,假设您的默认登录页是
index.html

在这种情况下,只需在项目的根目录中创建
index.html
,并添加以下内容--


现在,任何加载
//growtopiajaw.my.vg
的尝试都会将用户带到
https://growtopiajaw.my.vg/homepage.html


但是请注意,只有当用户输入
growtopiajaw.my.vg
URL时,这才会重定向——如果他们进入
growtopiajaw.my.vg/about.html
,那么毫无疑问,这将把他们带到这样一个页面的
HTTP
版本。

因此这里可能有两种情况

场景1-将所有
HTTP
流量重定向到
HTTPS
您只需在项目根目录中添加一个
.htaccess
,即可实现此目的,其中包含以下内容

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
注意这里重定向的类型。。。它是
301
转换为永久性重定向(而
302
转换为临时性重定向)

场景2-将登录页重定向(仅)到
HTTPS
登录页基本上是
page\u NAME.EXT
。这可以有多种形式。。。例如,考虑以下主机托管程序的摘录——

我们的Web服务器按以下顺序查找索引文件:

index.html index.htm index.shtml index.php index.php5 index.php4 index.php3 index.cgi default.html default.htm home.html home.htm Index.html Index.htm Index.shtml Index.php Index.cgi Default.html Default.htm Home.html Home.htm placeholder.html

如果 您的网站包含一个具有这些名称的文件,该文件将 当访问者未指定文件名时显示

为了简单起见,假设您的默认登录页是
index.html

在这种情况下,只需在项目的根目录中创建
index.html
,并添加以下内容--


现在,任何加载
//growtopiajaw.my.vg
的尝试都会将用户带到
https://growtopiajaw.my.vg/homepage.html


注意,只有当用户输入
growtopiajaw.my.vg
URL时,这才会重定向——如果他们进入
growtopiajaw.my.vg/about.html
,那么毫无疑问,它会将他们带到这样一个页面的
HTTP
版本。

我建议您将homepage.html重命名为index.php,然后在
doctype
上方添加以下代码标签

<?php
    if( !isset( $_SERVER['HTTPS'] ) ) {
        header( "location: https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]" );
        exit();
    }
?>


这都是因为无法在服务器本身上设置301规则。否则,请使用@Rushikumar的建议。

我建议您将homepage.html重命名为index.php,然后在
doctype
标记上方添加以下代码

<?php
    if( !isset( $_SERVER['HTTPS'] ) ) {
        header( "location: https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]" );
        exit();
    }
?>


这都是因为无法在服务器本身上设置301规则。否则,请使用@Rushikumar的建议。

这不是有效的PHP代码。@tadman lol。。。我只是想说,请显示您目前拥有的代码,您可以检查
$\u服务器['HTTPS']
,以确定您是否已经通过HTTPS获得服务。如果您想从http重定向到HTTPS,为什么不在web服务器级别执行此操作?这不是有效的PHP代码。@tadman lol。。。我只是想说,请显示您目前拥有的代码,您可以检查
$\u服务器['HTTPS']
,以确定您是否已经通过HTTPS获得服务。如果您想从http重定向到HTTPS,为什么不在web服务器级别执行此操作?这不是我想要的。