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服务器级别执行此操作?这不是我想要的。