偽靜態的實際運用
1. 在乙個專案中有兩個資料夾,public和private, public資料夾的可以被所有人訪問,private只能被自己訪問。如何實現?
第乙個方法是:
在public和private下建立.htaccess檔案,對於private只讓127.0.0.1訪問,public資料夾都可以訪問。
private資料夾下的配置
order deny,allow #注意deny,allow中間不能由空格
deny from all
allow from 127.0.0.1
這個的缺點是,沒有辦法去控制本apache的另外乙個虛擬主機的請求。
另外這個不夠精細化,他會**所有的資源,不僅僅是。
於是我們就換乙個思路,使用http的referer的防盜煉技術。
第二個方法是:
在private資料夾下寫乙個.htaccess檔案
rewriteengine on
# rewritecond:滿足某個條件則放行,不被rewriterule束縛
# http協議,如果是外網來的必須帶乙個referer
# 如果請求頭不是hsp.fi就**
# 但是可以自己模擬乙個http請求頭,這樣就可以取出!
rewritecond % !hsp.fi
#[f] - forbidden, 如果請求的是jpg,則禁用
注意:如果rewritecond有多個條件則:
rewriteengine on
# rewritecond:滿足某個條件則放行,不被rewriterule束縛
# http協議,如果是外網來的必須帶乙個referer
# 如果請求頭不是hsp.fi就**
# 但是可以自己模擬乙個http請求頭,這樣就可以取出!
rewritecond % !hsp.fi
rewritecond % !-f
#[f] - forbidden, 如果請求的是jpg,則禁用
#可以配置多份
課堂練習:
配置乙個**.answer.fi
1. 配置vhost, 注意allowoverwrite all
2. 配置host
3. 建乙個資料夾answer
4. 建立error, public, private目錄,和welcome.html, .htaccess檔案
.htaccess檔案中的配置
allow from all
#配置首頁面
directoryindex welcome.html
errordocument 404 /error/404.html
5. 在error目錄下放404.html頁面
6. 在public目錄下做配置
allow from all
7. 在private目錄下做配置
補充說明:
1. 關於404的說明:
對於ie瀏覽器而言,404頁面的內容大小不能低於512b位元組。
2. 如果在節點配置了 options indexes,同時你又啟用了rewriteengine on你會看到403的提示. 原因是因為我們的父級目錄的options 本身就配好了 options indexes followsymlinks,
我們要不不配置要麼就平配一樣的,重寫一遍。
偽靜態實際運用2:
實現:rewriterule ([a-za-z_]+)\/([a-za-z]+) index.php?c=$1&a=$2
運用3:
rewritecond指令的介紹
如何做到,當abc.html存在就直接訪問abc.html, 否則就去訪問index.php?
#如果請求的abc.html不是乙個檔案就走index, 如果是乙個檔案就不走過濾機制
rewritecond % !-f
#並且不是乙個目錄
rewritecond % !-d
rewriterule abc.html index.php
偽靜態實際運用4:
PHP 偽靜態技術
下面是生成偽靜態位址和逆轉偽靜態位址的兩個函式,這兩個函式在相應的位置引用就可以實現將轉成這樣的形式。使用參考 將此ion list page 2 位址生成 action list page 2.htm形式 url ion list page 2 urlstr makeurlhtml url ech...
PHP偽靜態步驟
header content type text html charset utf 8 dsn mysql host localhost dbname seven db new pdo dsn,root db exec set names utf8 分頁 count 11 page size 3 總...
php偽靜態配置
配置虛擬主機和偽靜態 1.開啟apache的rewrite模組 loadmodule rewrite module modules mod rewrite.so 2.開啟虛擬主機功能 3.修改conf extra httpd vhosts.conf檔案 documentroot f wamp www...