-
直接看第三章查看全部
-
開始查看全部
-
OB 都是 操作緩沖區的函數
查看全部 -
php ini :262 默認開啟; buffer寫滿 才會寫入硬盤
獲取php緩沖區中的數據 ob_get_contents();
代碼中開啟buffer: ob_start();
查看全部 -
php buffer
查看全部 -
動->靜 是通過nginx 配置實現(偽靜態)
查看全部 -
如果目錄或文件存在,優先調用現有目錄或文件。
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}% {REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}% {REQUEST_FILENAME} !-f
RerwriteRule ^/detail/([0-9]*).html$ /detail.php?id=$1
查看全部 -
ob_start();
file_put_contents('index.shtml',ob_get_clean());
查看全部 -
? ? 動態頁面是根據用戶的請求,從服務器數據庫獲取相應的數據,返回至頁面
靜態頁面是 純html+css頁面,訪問不會訪問數據庫。
偽靜態,顧名思義,假的靜態,實為動態,只是把的動態的pathinfo轉換成訪問靜態文件的格式,再通過自己內部設定相應的正則表達式匹配到符合的假理由,將其轉換成自己設定好的真正的接口路由,
方法有 在單文件中設置,匹配到就轉動態
還有在服務器中設置,appach和ngix差不多,都是vhost中,虛擬域名設定的地方,開啟重寫拓展后,通過設定正則規則自動完成偽靜態,還可以設置,有文件匹配就匹配文件或者 優先匹配偽靜態的路由。
沒什么難的,理解下原理就行,真正用到的,框架里應該都有此功能吧
查看全部 -
觸發系統生成純靜態化頁面之? 頁面添加緩存時間
filemtime() 獲得文件修改時間
查看全部 -
觸發系統生成純靜態化頁面
查看全部 -
模板引擎渲染php數據,生成純靜態化的方法:
1.連接數據庫,從數據庫數據相應數據
2.把獲取到的數據填充到模板文件
3.把動態頁面轉化為靜態頁面,生成靜態化文件
ob_staty()
file_put_content('index.html', ob_get_clean())
訪問index.html文件
查看全部 -
PHP如何實現頁面純靜態化:
1,file_put_contents()函數
2.使用PHP內置緩存機制實現也米娜靜態化 -- output_buffering
如何實現php頁面純靜態化
查看全部 -
php腳本輸出內容到瀏覽器顯示的流程:
先將輸出的內容寫入到php buffer中,然后通過tcp協議輸出顯示到終端。
php buffer 在php.ini文件中有output_buffering選項的配置,
設置為on時,php中輸出內容后,使用ob_get_contents()可以獲取到緩存區的數據,使用echo等方式可以打印輸出該內容
如果沒有開啟該配置,想要使用的話,可以在代碼中通過使用ob_start() 開啟
查看全部 -
php靜態化分類
查看全部 -
優化頁面響應時間:
動態頁面靜態化
優化數據庫
使用負載均衡
使用緩存
查看全部 -
nginx下rewrite配置
找到/etc/nginx/conf.d目錄下的ngnix配置文件,打開后,找到server進行規則寫入。
serer{
????listen 80;
????server_name static.com;
????index index.shtml index.html index.htm index.php;
????root /data/static;
????location /{
????????if(!-e $request_filename){
????????????rewrite ^/detail/([0-9]*).html$ /detail.php?id=$1 last;#規則
????????????break;
????????}
????}
}
重啟nginx服務:sudo service nginx restart
注:偽靜態配置根據業務需求來定 并非配置越多越好。太多影響服務器性能。
查看全部 -
apache下rewrite配置
虛擬域名配置
1)找到httpd.conf 查找LoadModule rewrite_module modules/mod_rewrite.so 將其開啟。通過php內置函數phpinfo()查看apache是否開啟了此模塊。查找mod_rewrite 若存在則代表開啟。
2)找到Include conf/extra/httpd-vhosts.conf并將其開啟。
3)配置httpd-vhosts.conf文件:
<VirtualHost 127.0.0.19:8080>
ServerAdmin [email protected]
DocumentRoot "e:/sing/state"
ServerName state.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
#RewriteEngine on
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-d
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-f
#RewriteRule ^/detail/([0-9]*).html$/detail.php?id=$1
</Virtualhost>
httpd_vhosts.conf配置文件配置相關信息
其中rewritecond中的document_root表示網站域名 request_filename表示url中域名后的請求內容。!-d表示目錄 !-f表示文件。這兩個rewritecond的意思是,當訪問網站時,若遇到url中存在對應目錄對應文件時,則直接訪問對應的目錄文件,而不需遵守rewriterule中的匹配規則。
而rewriterule則代表,當訪問網站url時,會將url按照這條寫好的規則進行匹配,若匹配成功,則訪問規則中定義的文件。
配置windows中的drivers里的hosts文件,將127.0.0.19 state.com寫入文件中。
apache偽靜態url地址rewrite方式配置完成。
查看全部 -
利用$_SERVER獲取PATH_INFO變量 然后通過獲取到的地址 用php的正則判斷 將符合判斷的內容取出,并進行下一步處理。
其中,正則匹配運用到了php的一個內置函數為:preg_match($reg,$str,$newstr),其中第一個參數為:正則匹配的規則;第二個參數為:要進行匹配的字符串;第三個參數為:匹配成功后生成的新的字符串。
PS:其中,關于$_SERVER中的PATH_INFO變量,在Apache服務器中,是默認開啟的。但是在Nginx中,默認是不開啟的,所以如果是使用了Nginx服務器且運用到了PATH_INFO功能,請先檢查是否開啟,若沒有開啟,則對Nginx服務器進行配置。
查看全部 -
php.ini 文件內存在output_buffering設置。為on時開啟緩存區功能
ob_start() 開啟一個新的緩存區
filemtime 獲取文件最新一次更改時間。
ob_get_clean() 獲取緩存區內容輸出到文件內并清空緩存區
ob_get_contents() 獲取緩存區內容輸出到文件內 不清空緩存區
查看全部 -
頁面靜態化函數
查看全部 -
方式查看全部
-
方式查看全部
-
apache偽靜態配置示例
查看全部 -
頁面靜態化流程
查看全部
舉報