.htaccess的主要作用就是實(shí)現(xiàn)url改寫黔攒,也就是當(dāng)瀏覽器通過url訪問到服務(wù)器某個文件夾時旨巷,作為主人球散,我們可以來接待這個url尿赚,具體 地怎樣接待它,就是此文件的作用蕉堰。所有的訪問都是通過URL實(shí)現(xiàn)凌净,所以.htaccess的作用非同小可。正因?yàn)榇宋菅龋砸话愕鼐W(wǎng)站通過設(shè) 置.htaccess冰寻,通過一個十分友好的url吸引用戶進(jìn)來,然后用.htaccess把用戶帶到需要訪問的位置皿渗。
可以使用cmd創(chuàng)建.htaccess文件
cmd指令
要想使用這個強(qiáng)大功能斩芭,就得開啟apache里面的重寫模塊轻腺。
conf.png
修改虛擬主機(jī)配置文件,增加 AllowOverride All
<VirtualHost *:80>
ServerName www.error.com
DocumentRoot "D:\www\error"
<Directory "D:\www\error">
#全部允許
allow from all
#沒有默認(rèn)首頁划乖,展示腳本的列表
Options indexes
#配置默認(rèn)首頁
DirectoryIndex index.php index.html
#重寫模式權(quán)限
AllowOverride All
#訪問目錄有權(quán)限
Require all granted
</Directory>
</VirtualHost>
.htaccess文件示例
#判斷是否開啟重寫模塊
<IfModule mod_rewrite.c>
#開啟重寫引擎
RewriteEngine on
#RewriteRule ^(.*).html $1.php
#RewriteRule (\d+).html $1.php
#重寫商品信息的鏈接
#RewriteRule goods/(\d+).html index.php/Home/Goods/goodslist/id/$1
#RewriteRule abc.html abcd.php
#[R]外部跳轉(zhuǎn) url會同時改變
#RewriteRule abc.html /abcd.php [G]
#重寫把參數(shù)傳輸過去
#RewriteRule (\d+).html /static.php?id=$1 [QSA]
#防止盜鏈
#滿足重寫重寫 再執(zhí)行重寫規(guī)則
#%{HTTP_REFERER} 判斷請求的來源
RewriteCond %{HTTP_REFERER} !cache.php59.com [NC]
#執(zhí)行重寫規(guī)則
#() 正則子表達(dá)式 |或者 滿足其一即可
RewriteRule (jpg|png|gif) image/2.gif
</IfModule>