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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php的htaccess,PHP .htaccess文件详细介绍

發布時間:2025/5/22 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php的htaccess,PHP .htaccess文件详细介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.什么是.htaccess文件及

.htaccess文件(或者"分布式配置文件")提供了針對每個目錄改變配置的方法,即在一個特定的目錄中放置一個包含指令的文件,其中的指令作用于此目錄及其所有子目錄。

如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令來改變。例如,需要使用.config ,則可以在服務器配置文件中按以下方法配置:AccessFileName .config

通常,.htaccess文件使用的配置語法和主配置文件一樣。AllowOverride指令按類別決定了.htaccess文件中哪些指令才是有效的。如果一個指令允許在.htaccess中使用,那么在本手冊的說明中,此指令會有一個覆蓋項段,其中說明了為使此指令生效而必須在AllowOverride指令中設置的值。

2.htaccess文件使用前提

.htaccess的主要作用就是實現url改寫,也就是當瀏覽器通過url訪問到服務器某個文件夾時,作為主人,我們可以來接待這個url,具體地怎樣接待它,就是此文件的作用。所有的訪問都是通過URL實現,所以.htaccess的作用非同小可。正因為此,所以一般地網站通過設置.htaccess,通過一個十分友好的url吸引用戶進來,然后用.htaccess把用戶帶到需要訪問的位置。

要想使用這個強大功能,就得開啟apache里面的重寫模塊。

打開apache的配置文件,將LoadModule rewrite_module modules/mod_rewrite.so前邊的#去掉,也就是開啟rewrite功能

還要修改里邊的AllowOverride,改為AllowOverride all修改全部的。



3.htaccess基本語法介紹

開啟重寫引擎 :RewriteEngine on

設置重寫的根目錄:RewriteBase / ????— 說明 :因為定義了這個文件夾,所以對應的替換就有了一個參照。

匹配所有符合條件的請求:RewriteCond ??????— 說明:RewriteCond 定義了一系列規則條件,這個指令可以有一條或者多條,只有用戶拿來的url符合這些條件之后,我們的.htaccess才開始接待,否則用戶就直接自己去訪問所需要的目錄了。

舉個例子,為了能讓搜索引擎更多地抓取我們的網頁而避免重復抓,我們通常把沒有www的域名重定向到www.XXX.com,如下就實現了這個功能:

RewriteEngine On

RewriteCond %{HTTP_HOST} ?^manongjc\.com$ [NC]

RewriteRule ^(.*)$ ?http://www.manongjc.com/$1 [R=301,L]

上例便把manongjc.com 重定向到www.manongjc.com

%{HTTP_HOST} 是指取得用戶訪問的URL的主域名 ?然后空格后面是一個正則表達式匹配,意識就是說是否是 manongjc.com 。

如果用戶訪問使用的URL滿足所有列出的RewriteCond 提出的條件,那么進行下一步RewriteRule 即開始進行引導,這才開始實現.htaccess文件的重要功能。

同樣,前面是正則表達式,用戶分析用戶的除了主域名manongjc.com之外的URL ,^(.*)$的意思就是所有的內容。 然后空格后面寫的是我們引導用戶訪問的目錄,我們帶著他走到新的一個域名上。$1 指的是前面括號里匹配url所得到的內容。

4.利用htaccess文件實現偽靜態

這里用我曾經寫的程序中的代碼舉例新建一個.htaccess文件。放在網站根目錄寫入以上適用于自己程序的代碼!

下面是我寫的

RewriteEngine On

#RewriteBase /

RewriteRule ^look-(\d+)\.html$ look.php?id=$1

RewriteRule ^(\d+)\.html$ index.php?id=$1

RewriteEngine On?表示將Rewrite開啟

RewriteBase /?指定重寫規則的根目錄,一般不需要所以已經用#注釋掉了

RewriteRule?后面跟重寫規則,正則表達式以^開始以$結束 (有多條規則則寫多個RewriteRule)

規則第一條表示將http://127.0.0.1/look.php?id=3轉換為http://127.0.0.1/look-3.html

第二條規則將http://127.0.0.1/index.php?id=3轉換為http://127.0.0.1/3.html

5.常見的.htaccess應用舉例

1、防止盜鏈,如果來得要訪問jpe jpg bmp png結尾的url 用戶不是來自我們的網站,那么讓他看一張我們網站的展示圖片。

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC]

RewriteCond %{HTTP_REFERER} !^$

RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

2、網站升級的時候,只有特定IP才能訪問,其他的用戶將看到一個升級頁面

RewriteEngine on

RewriteCond %{REQUEST_URI} !/upgrade.html$

RewriteCond %{REMOTE_HOST} !^24\.121\.202\.30

RewriteRule $ http://www.nbphp.com/upgrade.html [R=302,L]

3、把老的域名轉向新域名

# redirect from old domain to new domain

RewriteEngine On

RewriteRule ^(.*)$http://www.yourdomain.com/$1[R=301,L]

總結

以上是生活随笔為你收集整理的php的htaccess,PHP .htaccess文件详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。