本文目錄一覽:
php使用curl訪問的頁面中,出現重定向時, 如何獲取重定向後的內容
程序沒問題,能得到網頁內容並輸出。
有可能是你的 xxx.php 沒有重定向成功。
如果在Linux下,可以先用
wget
看看有沒有輸出想要的結果。
我用來測試的 xxx.php
?php
function redirect($url)
{
if(headers_sent()) {
return false;
}
if(substr($url, 0, 4) != ‘http’) {
$schema = $_SERVER[‘SERVER_PORT’] == ‘443’ ? ‘https’ : ‘http’;
$host = strlen($_SERVER[‘HTTP_HOST’]) ? $_SERVER[‘HTTP_HOST’] : $_SERVER[‘SERVER_NAME’];
$url = “$schema://$host$to”;
}
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: $url”);
exit();
}
redirect(”);
PHP如何使404頁面重定向
最近在改一些東西,包括Discuz論壇,在處理Discuzde修改時特別是重新寫了一個404de頁面,讓用戶訪問不存在de頁面時去訪問這個404頁面。但是遇到了一個很奇怪de問題,即無法重定向到這個頁面。
最初操作:
1、把apache中de配置文件里 加入代碼:ErrorDocument 404 /404.php
2、在404頁面de代碼里加上?php header(」HTTP/1.0 404 Not Found」 ? 。這個方法是向客戶端發送一個自然deHTTP頭。這個方法要在沒you向客戶端發送任何信息之前使用,因此加在404.phpde文件頭最好。
經過對配置文件和DZ論壇代碼de查看,發現原因:rewrite規則問題,即我做偽靜態de處理,導致第二種地址規則you效,於是已經pass過了伺服器層,apachede404定義不再起作用,所以在讀取數據dephp文件會被執行。針對這種情況應該做處理。
處理:
1、找到被執行de文件:如viewthread.php;
2、在查詢數據後,加上對數據de判斷,如果為空,則填寫重定向代碼;
3、代碼:
if(如果沒you任何結果)
{
//以前是僅僅顯示「該帖子已經不存在」de提示,現在是:
require(』/404.php』);
@header(』HTTP/1.1 404 Not Found』);
@header(』Status: 404 Not Found』);
exit;
}
結果:以上問題解決,可以以404de狀態重定向到我自定義de404頁面。
php網站建設怎麼做301重定向設置
做網站優化,我們基本知道url標準化需要採用301重定向。重定向說直白點,就是通過方法將各種網路請求重新定個方向轉到其它位置,也就是通常說的,網頁跳轉。那麼如何設置和製作301重定向呢?下面列舉幾個比較常見的情況:
步驟/方法
第一種:對整個網站的多個頁面設置301重定向方法
如果要對整個網站設置301重定向的話,建議大家還是單獨建立一個301.php,文件名可以自己取。代碼如下:
?php
$the_host = $_SERVER[‘HTTP_HOST’]; //取得進入所輸入的域名[網址:像]
$the_url = isset($_SERVER[‘REQUEST_URI’]) ? $_SERVER[‘REQUEST_URI’] : ”; //判斷地址後面部分
$the_url = strtolower($the_url); //將英文字母轉成小寫
if($the_url==”/index.php”) //判斷是不是首頁
{
$the_url=””; //如果是首頁,賦值為空
}
if($the_host !== ”)//如果域名不是帶www的網址那麼進行下面的301跳轉
{
header(‘HTTP/1.1 301 Moved Permanently’); //發出301頭部
header(‘Location:’.$the_url); //跳轉到帶www的網址
}
?
注 意一下:代碼if($the_host !== ”)中的「!==」是不完全等於的意思,也可以用「!=」不等於,這樣,除了可以將siyuan-seo.com 跳轉到帶www的網址,還可以把所有綁定到這個空間的域名跳轉的。
301.php文件寫好後,用ftp軟體上傳到網站根目錄下,一般就是web文件下。那麼怎麼調用呢?其實也很簡單。
在需要設置301重定向的頁面中調用301.php,代碼:?php include(“301.php”); //301重定向 ?將這個代碼放到你所有網頁的最前面,這樣就做好了。如下圖:
2
第二種:網站單個頁面設置301重定向方法
如果僅僅是網站中某個單頁面進行301重定向設置,其實很簡單,只要在PHP頁面的頭部加上下面兩行代碼就可以了:
?php
Header(“HTTP/1.1 301 Moved Permanently”);
Header(“Location: “);
?如下圖:
其實,大多數情況下,我們一般是不需要設置301重定向的,用到的情況也是很少,大家知道怎麼做就可以了。
當你發現自己的才華撐不起野心時,就請安靜下來學習吧
PHP後台任務運行
在運行前 先要了解一下 什麼是文件描述符。
什麼是文件描述符?
文件描述符是一個簡單的正整數,用以標明每一個被進程所打開的文件和socket。
最前面的三個文件描述符(0,1,2)分別與標準輸入(stdin),標準輸出(stdout)和標準錯誤(stderr)對應。
“21 file”和 ” file 21″區別?
1.php test.php 21 file :錯誤輸出到終端,標準輸出被重定向到文件file。
2.php test.php file 21 :標準輸出被重定向到文件file,然後錯誤輸出也重定向到和標準輸出一樣,所以錯誤也輸出到文件file。
nohup命令可以在用戶退出終端後仍然執行程序,
「21 /dev/null」表示不顯示標準輸出和錯誤輸出,
最後的表示推到後台執行。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/243181.html