日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

【PHP 】伪静态 - 4. 实际运用

發(fā)布時(shí)間:2024/6/14 php 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【PHP 】伪静态 - 4. 实际运用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

偽靜態(tài)的實(shí)際運(yùn)用

1. 在一個(gè)項(xiàng)目中有兩個(gè)文件夾,public和private, public文件夾的圖片可以被所有人訪問,private只能被自己訪問。如何實(shí)現(xiàn)?

第一個(gè)方法是:

在public和private下創(chuàng)建.htaccess文件,對(duì)于private只讓127.0.0.1訪問,public文件夾都可以訪問。

private文件夾下的配置

order deny,allow????? #注意deny,allow中間不能由空格

deny from all

allow from 127.0.0.1

?

這個(gè)的缺點(diǎn)是,沒有辦法去控制本apache的另外一個(gè)虛擬主機(jī)的請(qǐng)求。

另外這個(gè)不夠精細(xì)化,他會(huì)封殺所有的資源,不僅僅是圖片。

于是我們就換一個(gè)思路,使用http的referer的防盜鏈技術(shù)。

?

第二個(gè)方法是:

在private文件夾下寫一個(gè).htaccess文件

<ifModule rewrite_module>

RewriteEngine On

# RewriteCond:滿足某個(gè)條件則放行,不被RewriteRule束縛

# HTTP協(xié)議,如果是外網(wǎng)來的必須帶一個(gè)Referer

# 如果請(qǐng)求頭不是hsp.fi就封殺

# 但是可以自己模擬一個(gè)http請(qǐng)求頭,這樣就可以取出圖片!

RewriteCond %{HTTP_REFERER} !hsp.fi

#[F] - Forbidden, 如果請(qǐng)求的是jpg圖片,則禁用

RewriteRule .*\.jpg -[F]

RewriteRule .*\.css -[F]

RewriteRule .*\.js -[F]

</ifModule>

?

注意:如果RewriteCond有多個(gè)條件則:

<ifModule rewrite_module>

RewriteEngine On

# RewriteCond:滿足某個(gè)條件則放行,不被RewriteRule束縛

# HTTP協(xié)議,如果是外網(wǎng)來的必須帶一個(gè)Referer

# 如果請(qǐng)求頭不是hsp.fi就封殺

# 但是可以自己模擬一個(gè)http請(qǐng)求頭,這樣就可以取出圖片!

RewriteCond %{HTTP_REFERER} !hsp.fi

RewriteCond %{HTTP_FILENAME} !-f

#[F] - Forbidden, 如果請(qǐng)求的是jpg圖片,則禁用

RewriteRule .*\.jpg -[F]

RewriteRule .*\.css -[F]

RewriteRule .*\.js -[F]

?

#可以配置多份

RewriteCond %{HTTP_REFERER} !hsp2.fi

RewriteRule .*\.jpg -[F]

?

</ifModule>

?

課堂練習(xí):

配置一個(gè)網(wǎng)站.answer.fi

配置網(wǎng)站的歡迎頁面,404,rewrite,public,private圖片的控制

1. 配置vhost, 注意allowoverwrite all

2. 配置host

3. 建一個(gè)文件夾answer

4. 創(chuàng)建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目錄下做配置

?

<ifModule rewrite_module>

RewriteEngine On

RewriteCond %{HTTP_REFERER} !answer.fi

RewriteRule .*\.jpg -[F]

</ifModule>

?

補(bǔ)充說明:

1. 關(guān)于404的說明:

對(duì)于ie瀏覽器而言,404頁面的內(nèi)容大小不能低于512b字節(jié)。

2. 如果在<Directory>節(jié)點(diǎn)配置了 Options Indexes,同時(shí)你又啟用了rewriteEngine On你會(huì)看到403的提示. 原因是因?yàn)槲覀兊母讣?jí)目錄的Options 本身就配好了 Options Indexes FollowSymLinks,

我們要不不配置要么就平配一樣的,重寫一遍。

?

偽靜態(tài)實(shí)際運(yùn)用2:

?

實(shí)現(xiàn):

RewriteRule ([a-zA-Z_]+)\/([a-zA-Z]+) index.php?c=$1&a=$2

?

運(yùn)用3:

rewriteCond指令的介紹

如何做到,當(dāng)abc.html存在就直接訪問abc.html, 否則就去訪問index.php?

#如果請(qǐng)求的abc.html不是一個(gè)文件就走index, 如果是一個(gè)文件就不走過濾機(jī)制

RewriteCond %{REQUEST_FILENAME} !-f

#并且不是一個(gè)目錄

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule abc.html index.php

?

偽靜態(tài)實(shí)際運(yùn)用4:

在TP框架中使用rewrite簡(jiǎn)化url地址,目的是seo,步驟:

轉(zhuǎn)載于:https://www.cnblogs.com/Answer1215/p/3151480.html

總結(jié)

以上是生活随笔為你收集整理的【PHP 】伪静态 - 4. 实际运用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。