phpurl偽靜態
Ⅰ php偽靜態、url重寫
你的想法是完全可行的,我舉個例子告訴你
http://hi..com/changjie_vip/item/712b720b1c9781c5915718c1
你可以先看看這個文章,不懂的可以交流
apache一般都是在目錄下創建.htaccess來實現偽靜態,IIS不是這樣的,這跟PHP本身沒有關系,這是http伺服器與客戶端瀏覽器之間的約定
比如說
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$
index.php?action=$1&id=$2
意思就是說當你訪問類似 a_1.html里的時候 apache自動跳轉到 index.php?action=$1&id=$2的地方,其中$1就是左邊重寫規則的第一個變數 ([a-zA-Z]{1,}),$2就是([0-9]{1,})的第二個變數
Ⅱ thinkphp偽靜態去掉欄目url
可以通過URL重寫隱藏應用的入口文件index.php。
首先明確主要的任務有兩個:一個是實現所謂的偽靜態,也就是,使用所有ThinkPHP的ActionURL後添加上.html,以便於搜索引擎的收錄,不過這並不意味著原來的ActionURL訪問方式不使用。無論加不加html,都能夠訪問Index這個Action中的index方法。同時還有一個任務就是URL不再區分大小寫。唯一需要注意的是,此配置文件的實質是php的數組array,裡面的逗號什麼的,請注意。之後,關於URL的重寫。
Ⅲ 如何將php的url生成偽靜態的url
要用到404錯誤轉址
也就是404會轉到頁面哪個,名後404再來跳
比如http://www.bdhly.com/list56.html
這個頁是不存在的,那麼就會出現404錯,此時404用你的php頁,取前一頁的地址,再正則也好,別的辦法也好,取出list56.html
再組成list.php?id=56,再頁內做個跳轉也行,還是說直接include,就看你自己想怎麼寫了
Ⅳ PHP 偽靜態URL重寫
RewriteRule ^index.php?r=default/news/index&id=/([0-9]+/) /news/index-$1.html
另一個同理
Ⅳ php如何實現網頁靜態
一、靜態化的優點:
1有利於搜索引擎收錄網站頁面的信息:搜索引擎更喜歡靜態的,更變於抓取,搜索引擎SEO排名會更容易提高。
2靜態網頁化網頁穩定
3可以提高網頁載入速度
4減輕伺服器負擔,瀏覽器不需要頻發調用資料庫。
5資料庫出錯不會影響正常訪問
二、偽靜態
PHP偽靜態:是利用Apache mod_rewite實現url重寫的方法
改寫訪問地址,能夠通過URL的PATHINFO模式來改動它。讓它看上去更像一個靜態頁面。從而有更大的幾率被搜索引擎抓取和收錄,僅是對搜索引擎比較友好,偽靜態化
三、純靜態化
純靜態化,就是生成HTML文件的方式,我們須要開啟PHP自帶的緩存機制,即ob_start來開啟緩存。而且在ob_start之前不能有不論什麼輸出,否則運行失敗,然後我們用ob_get_contents函數來獲取緩存中的內容,該函數會返回一個字元串。第三個函數就是ob_end_clean,它用來清空緩存中的內容而且關閉,成功返回True,失敗返回False。
<?php
if(file_exists("match.html") && (time()-filemtime("match.html"))<300)
{
//如果存在對應的靜態文件,則直接訪問
require_once("match.html");
}else{
//這里用數組來模擬資料庫操作,現實一般都是操作資料庫得到對應數據
$student = array("huangxing","chenyuwei",'xufei','zhangjingwen','xuepei');
ob_start();
//載入模板
require_once("muban.php");
file_put_contents("match.html",ob_get_clean());
require_once('match.html');
}
Ⅵ php偽靜態、URL重寫怎麼實現
首先我舉例子是APACHE下的,使用.htaccess文件形式進行rewrite。
你程序目錄放入.htaccess,內容如下:
RewriteEngine On
RewriteRule ^(\w+)\.html$ $1.php [NC,L]
訪問的時候
被映射到
被映射到
更多方法在於你自己的嘗試和挖掘,不要太依賴於別人的解決方式。
Ⅶ PHP網站如何實現網頁偽靜態或靜態
靜態就是生成HTML,適用與流量非常大的網站.
而
偽靜態
分為2種,一種是
URL重寫
,就是根據正則匹配到指定URL,在我看來算不上真正的偽靜態.
另外一種就是將所有的請求定向到某個文件,然後由這個文件統一處理,
Ⅷ 偽靜態PHP url重寫問題
你的想法是完全可行的,舉個例子告訴你
http://hi..com/changjie_vip/item/712b720b1c9781c5915718c1
你可以先看看這個文章,不懂的可以交流
apache一般都是在目錄下創建.htaccess來實現偽靜態,IIS不是這樣的,這跟PHP本身沒有關系,這是http伺服器與客戶端瀏覽器之間的約定
比如說
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$
index.php?action=$1&id=$2
意思就是說當你訪問類似 a_1.html里的時候 apache自動跳轉到 index.php?action=$1&id=$2的地方,其中$1就是左邊重寫規則的第一個變數 ([a-zA-Z]{1,}),$2就是([0-9]{1,})的第二個變數
Ⅸ PHP URL 偽靜態化問題!
.是表示所有字元,應該把_排除掉,這樣寫:[^_]。
所以,答案應該是:
^([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)\.html$ $1.php?$2=$3&$4=$5&$6=$7
Ⅹ php偽靜態如何獲取地址欄url
程序偽靜態後,搜索引擎又收錄了之前的大量動態地址,如何處理呢?
你可能以為設置301就可以了,但似乎301更搜索引擎更新過來也是需要相當一段時間,而搜索到以前的動態地址,訪問還是有點不好,畢竟還是希望訪問靜態地址,這里就需要在頁面里做一下判斷了。
首先,用了php內置函數,因程序偽靜態了,發現取得的都是真實的url地址,和顯示的url根本是兩樣。
網上找了很久,都沒有找到辦法。問題實再是很棘手。
無意中看到一個asp的例子,其中包含:http_x_rewrite_url,於是用php試了下,沒想到卻可以獲取到地址欄的地址,至此問題解決。
例子,php偽靜態如何獲取地址欄url。
代碼示例:
<?php
if(strstr($_server["http_x_rewrite_url"],".php"){//判斷是否包含.php的地址。
header("http/1.1301movedpermanently");
header("location:http://www..com/$id.html");//跳轉到新的靜態地址。
exit;
}
//只適用於windows的伺服器,liunx則需要用$_server['request_uri']來獲取
if(strstr($_server['request_uri'],".php"){//判斷是否包含.php的地址。
header("http/1.1301movedpermanently");
header("location:http://www..com/$id.html");//跳轉到新的靜態地址。
exit;
//只要輸入以前的動態地址都會以301方式轉到新的靜態地址。
?>