配置虛擬主機和偽靜態
1.開啟apache的rewrite模組
loadmodule rewrite_module modules/mod_rewrite.so
2.開啟虛擬主機功能
3.修改conf/extra/httpd-vhosts.conf檔案
documentroot "f:/wamp/www/teacher" 指定訪問目錄
servername www.baidu.com 指定允許訪問的網域名稱
對這個目錄進行設定
deny from all 禁止任何人訪問,不寫可以訪問,是因為如果此目錄沒做設定,會繼承他的上級目錄來許可權;如果上級目錄禁止訪問,可以再此目錄中寫allow from all則這個目錄就可以訪問,不會繼承父目錄的許可權
options none 不允許伺服器顯示目錄中的檔案列表,允許就改成options indexes
directoryindex abc.html 123.html 配置目錄指定首頁面,預設是index,指定後先選擇abc.html,如果沒有再顯示123.html
errordocument 404 /404.html 指定發生錯誤後顯示的頁面,errordocument後跟http狀態碼,當遇到這種狀態嗎,就會執行後面指定的頁面
allowoverride all 允許到對應目錄的.htaccess檔案中 讀取規則
下面配置rewrite規則
rewriteengine on 開啟重新功能(一定要檢測是否啟用mod_rewrite.so模組)
rewriterule a.html b.php 當訪問a.html頁面時,其實是訪問b.php
rewriterule news/id/(\d+).html news.php?id=$1 為了廣泛的使用,可以使用正則來匹配news/id/100.html這種都執向news.php,接收的引數就是前面匹配的數值
4.htaccess檔案的寫法
在沒有許可權修改httpd-vhosts.conf檔案的情況系下,可以使用.htaccess檔案來做目錄許可權,如果.htaccess用不了,就看看httpd-vhosts.conf檔案是否開啟了allowoverride all
#如果載入了rewrite_module模組
這些規則和 httpd-vhosts.conf檔案中的規則寫法一樣
rewriteengine on
rewriterule news/id/(\d+).html news.php?id=$1
可以寫多條規則
5.做防盜煉
6.在c:\windows\system32\drivers\etc的host檔案中新增網域名稱指向到本地127.0.0.1 www.xuni.com
注意:在配置好後,開啟localhost發現提示403錯誤,是因為開啟了虛擬主機功能(第二步),在httpd-vhosts.conf檔案中
預設新增了幾條規則,因為用的是wamp環境,裡面的documentroot不是wamp指定的根目錄,導致localhost定位到的目錄不對,這就
是導致localhost不能訪問403的原因,只要把預設的規則修改下
serveradmin [email protected]
documentroot "f:/wamp/www" #訪問的根目錄
servername localhost #允許訪問的網域名稱
errorlog "logs/dummy-host2.example.com-error.log"
customlog "logs/dummy-host2.example.com-access.log" common
然後在後面新增自己需要的規則
php中配置偽靜態
mod rewrite是apache的乙個非常強大的功能,它可以實現偽靜態頁面。下面我詳細說說它的使用方法 1.檢測apache是否支援mod rewrite 通過php提供的phpinfo 函式檢視環境配置,通過ctrl f查詢到 loaded modules 其中列出了所有apache2hand...
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 總...