一、配置虛擬主機(以win下的apach爲例)php
a、首先在C盤下找到C:/windows/system32/drivers/ect/hosts下進行配置域名html
b、配置apach服務器(正式的配置虛擬主機文件httpd-vhosts.conf)web
在 AllowOverride 設置爲 None 時, .htaccess 文件將被徹底忽略。當此指令設置爲 All 時,全部具備 ".htaccess" 做用域的指令都容許出如今 .htaccess 文件中。ajax
二、HTTP請求json
瀏覽器連上服務器後,向服務器請求某個web資源,稱之爲瀏覽器向服務器發送了一個http請求。一個完整的http請求包括以下內容:windows
一個請求行,若干消息請求頭,實體內容瀏覽器
消息頭和實體內容都是可選的安全
A、http 請求行服務器
請求行分紅三個部份,分別由請求方式,請求的資源,HTTP的版本組成cookie
http的請求方式分別有:POST ,GET, HEAD,OPTIONS,DELETE,TRACE,PUT
get 與 post的區別以下:
a、前都在表單請求的時候,數據會放在地址欄裏,而post會放在內容實體裏面,因此就表單傳輸來說,post方式相對安全
b、get傳輸數據的大小取決於瀏覽器與操做系統,post數據理論上是沒有限制大小的
c、上傳和下載文件一個通常不超過2M,若是大於2M能夠經過專門的插件來作,而且上傳文件通常用Post
d、get 更容易進行收藏,而且表的傳輸默認是get請求,若是數據量比較小,通常用get
e、若是是經過超鏈的方式,那麼必需用get請求
B、http 請求頭
$_SERVER能夠獲取到服務項的全部內容,若是想獲取訪問電腦的IP地址,能夠用$_SERVER['REMOTE_ADDR']來獲取
如下案例是不容許指定Ip訪問網站:
<?php header('content-type:text/html;charset=utf8'); ini_set('display_errors', true); $remote_addr = $_SERVER['REMOTE_ADDR']; if ($remote_addr = '' || strpos($remote_addr, '192.168') === 0) { echo '對不起,這個地址是拒絕訪問的'; } else { echo '有權限訪問'; } ?>
防止網頁盜鏈
<?php header('content-type:text/html;charset=utf8'); ini_set('display_errors', true); $referer = $_SERVER['HTTP_REFERER'] || ''; if ($referer != '' && strpos($referer, 'http://www.baidu.com') === 0) { echo '這個是正規途徑'; }else{ echo '不能訪問'; } ?>
C、HTTP請求的狀態碼
經常使用的狀態碼 : 200 =》成功,302 =》重定項,304 =》資源未修改,服務器說明本地的資源已經是最新的了,403 =》禁止訪問,即沒有訪問的權限,404 =》沒有訪問的資源 ,500 =》服務器錯誤。
D、HTTP請求頭的設置
header('Location:abc.html') => 告訴瀏覽器進行重定向到abc.html頁面,會返回302碼
header('Refresh:5;url=abc.html') =>告訴瀏覽器5秒後跳轉到abc.html頁面
<?php header('content-type:text/html;charset=utf8'); header('Location:index.php'); header('Refresh:5;url = index.php'); ?>
header('Content-type:application/json') => 以json形式的數據輸出,一般用做ajax請求
header('Access-Control-Allow-Origin:*'); // *表明容許任何網址請求
header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 容許請求的類型
header('Access-Control-Allow-Credentials: true'); // 設置是否容許發送 cookies
header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin'); // 設置容許自定義請求頭的字段,如身份驗證信息
經常使用的下載配置
//告訴瀏覽器我向你迴應的內容是文件請保存 //返回的文件 header("Content-type: application/octet-stream"); //按照字節大小返回 header("Accept-Ranges: bytes"); //顯示文件大小 header("Content-Length: {$filesize}"); //這裏客戶端的彈出對話框,對應的文件名 header("Content-Disposition: attachment; filename={$filename}");
三、經常使用的php_ini配置
<?php header('content-type:text/html;charset=utf-8'); //是否打印錯誤 ini_set('display_errors', true); //最大上傳文件的大小 var_dump(ini_get('upload_max_filesize')); //post最大的文件大小 var_dump(ini_get('post_max_size')); //一次性上傳的最大數量 var_dump(ini_get('max_file_uploads')); //時區設置 var_dump(ini_get('date.timezone')); ?>