phpsystem重定向,php 重定向

本文目錄一覽:

php 函數重定向 Warning: Cannot modify header information – headers already sent by (output

檢查以下兩個方面:

一、在文件的第一個?php之前不得有任何內容,包括空白、空行

二、在header(‘Location:news_list.php?message=$message’);語句之前不得有任何的echo或者其它輸出內容的語句

滿足以上兩點的情況下,就不會報告你這個錯誤。

怎麼做301轉向,asp,php301重定向跳轉代碼

301跳轉代碼全集(ASP|PHP|JSP|.NET)

1、IIS下301設置

Internet信息服務管理器 – 虛擬目錄 – 重定向到URL,輸入需要轉向的目標URL,並選擇“資源的永久重定向”。

2、ASP下的301轉向代碼

%@ Language=VBScript %

%

Response.Status=”301 Moved Permanently”

Response.AddHeader “Location”, “”

%

3、ASP.Net下的301轉向代碼

script runat=”server”

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = “301 Moved Permanently”;

Response.AddHeader(”Location”,””);

}

/script

4、PHP下的301轉向代碼

header(”HTTP/1.1 301 Moved Permanently”);

header(”Location: ”);

exit();

5、CGI Perl下的301轉向代碼

$q = new CGI;

print $q-redirect(””);

6、JSP下的301轉向代碼

%

response.setStatus(301);

response.setHeader( “Location”,“” );

response.setHeader( “Connection”,“close” );

%

7、Apache下vhosts.conf中配置301轉向

為實現URL規範化,SEO通常將不帶WWW的域名轉向到帶WWW域名,vhosts.conf中配置為:

VirtualHost *:80

ServerName

DocumentRoot

/VirtualHost

VirtualHost *:80

ServerName xxx.com

RedirectMatch permanent ^/(.*)

/VirtualHost

8、Apache下301轉向代碼

新建.htaccess文件,輸入下列內容(需要開啟mod_rewrite):

1)將不帶WWW的域名轉向到帶WWW的域名下

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^xxx.com [NC]

RewriteRule ^(.*)$ [L,R=301]

2)重定向到新域名

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)$ [L,R=301]

3)使用正則進行301轉向,實現偽靜態

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^news-(.+)\.html$ news.php?id=$1

將news.php?id=123這樣的地址轉向到news-123.html

最後:在使用301永久性重定向命令讓多個域名指向網站主域名時,也不會對網站的排名產生任何負面影響。希望對你有幫助。

thinkphp內核程序,無法重定向

ThinkPHP redirect 方法

ThinkPHP redirect 方法可以實現頁面的重定向(跳轉)功能。redirect 方法語法如下:

$this-redirect(string url, array params, int delay, string msg)

參數說明:

參數

說明

url 必須,重定向的 URL 表達式。

params 可選,其它URL參數。

delay 可選, 重定向延時,單位為秒。

msg 可選,重定向提示信息。

ThinkPHP redirect 實例

在 Index 模塊 index 方法中,重定向到本模塊的 select 操作:

class IndexAction extends Action{

public function index(){

$this-redirect(‘select’, array(‘status’=1), 3, ‘頁面跳轉中~’);

}

}

重定向後得到的 URL 可能為ex.php/Index/select/status/1

由於該方法調用了 U 函數來生成實際的 URL 重定向地址,因此重定向後的 URL 可能因配置不同而有所不同:

隱藏了入口文件 index.php 的

5idev.com/Index/select/status/1

隱藏了入口文件 index.php 且設置了偽靜態的

hom/Index/select/status/1.html

一些常用的 redirect 重定向例子:

// 不延時,直接重定向

$this-redirect(‘select’, array(‘status’=1));

// 延時跳轉,但不帶參數,輸出默認提示

$thi s-redirect(‘select’, ”, 3);

// 重定向到其他模塊操作

$this-redirect(‘Public/login’);

// 重定向到其他分組

$this-redirect(‘Admin-Public/login’);

提示: 1.當延時跳轉時,必須輸入 params 參數(可以為空),也就是 delay 必須出現在第 3 位上。

2.如果發現跳轉後的 URL 有問題,由於 redirect 方法調用 U 方法來生成跳轉後的地址,這時候可以測試一下 U 方法生成的地址是否正確,再檢查一下系統配置。

3.如果不想使用 U 方法生成跳轉地址,可以直接使用 PHP header 函數或 $this-redirect 的原型函數 redirect(string url, int delay, string msg),注意該 url 是個絕對地址,具體參見 PHP header 函數。

redirect 重定向與 success/error 跳轉的區別

•redirect 是使用的 PHP header 重定向,而 success/error 是使用的 html meta http-equiv=’Refresh’ 屬性跳轉。

•redirect 無模板頁面,輸出的提示信息是直接在函數內 echo 輸出的,而 success/error 有對應的模板。

•redirect 與 success/error 都可以實現頁面的跳轉,只是 redirect 可以無延時重定向,具體採用哪種視具體情況而定。

如何用 PHP 實現 302 重定向到其他 URL

302是臨時重定向的意思。表示被訪問頁面因為各種需要被臨時跳轉到其他頁面。

PHP里的302重定向非常簡單,只要在返回的HTTP Response Header里添加Location字段,PHP將自動返回302狀態碼。

例如:

?php

header(“Location: URL地址”);

?

這段代碼將自動重定向到URL地址

注意的是,跳轉不是在收到response header的時候馬上進行,也就是說頁面的剩餘內容會被下載來之後瀏覽器才會跳轉。新手常犯的一個錯誤是,在邏輯判斷時對符合條件的情況進行header跳轉之後,忘了在之後加上exit(),導致錯誤。例如,用user_login()判斷用戶是否進行了登錄,如果未登錄則跳轉到登錄頁面。代碼如下:

?php

if(!user_login()){

header(“Location:login.php”);

}

//display contents for login users.

?

這裡,容易以為header之後這段代碼就結束了,沒有在header之後使用exit()。後面的代碼繼續被執行,導致未登錄用戶看到了已登錄用戶才能看到的內容。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/192264.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 09:56
下一篇 2024-12-01 09:56

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python重定向輸出

    本文將詳細闡述Python重定向輸出的幾個方面。 一、內置模塊sys Python提供了內置模塊sys來完成重定向輸出的功能,它包含了一些與Python解釋器緊密相關的變量和函數。…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • UE4骨骼重定向:全面解析

    骨骼重定向是遊戲開發中一個非常重要的功能,尤其是在角色動畫方面。在UE4中,使用骨骼重定向可以實現不同角色之間共用同一套動畫,減少重複勞動,提高開發效率。本篇文章將詳細闡述UE4中…

    編程 2025-04-25
  • Linux 重定向

    一、什麼是重定向 在Linux中,每個命令都會有標準輸入、標準輸出和標準錯誤。標準輸入通常是鍵盤輸入,標準輸出通常是顯示器輸出,而標準錯誤通常是顯示器輸出。 但是在實際應用中,我們…

    編程 2025-04-25
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24

發表回復

登錄後才能評論