摘要:簡述主要的功能就是實現的跳轉,它的正則表達式是基于語言。可基于服務器級的和目錄級的兩種方式。否則里沒有它里面的規則也不會生效。基于目錄級的要注意一點那就是必須打開此目錄的屬性且在里要聲明。
簡述
Rewirte主要的功能就是實現URL的跳轉,它的正則表達式是基于Perl語言。可基于服務器級的(httpd.conf)和目錄級的 (.htaccess)兩種方式。如果要想用到rewrite模塊,必須先安裝或加載rewrite模塊。
基于服務器級的(httpd.conf)有兩種方法,一種是在httpd.conf的全局下直接利用RewriteEngine on來打開rewrite功能;另一種是在局部里利用RewriteEngine on來打開rewrite功能,下面將會舉例說明,需要注意的是,必須在每個virtualhost里用RewriteEngine on來打開rewrite功能。否則virtualhost里沒有RewriteEngine on它里面的規則也不會生效。
基于目錄級的(.htaccess),要注意一點那就是必須打開此目錄的FollowSymLinks屬性且在.htaccess里要聲明RewriteEngine on。
配置方法1.修改Apache主配置文件
刪除LoadModule rewrite_module modules/mod_rewrite.so前#
2.想通過.htaccess也能設置Rewrite規則
將網站目錄配置段的"AllowOverride"改成"All",不同的虛擬機要多帶帶配置
3.配置項解析
RewriteEngine On|Off 是否開啟Rewire功能 Rewrite功能不會繼承,多個虛擬機要多帶帶設置ReWriteRule規則
設置Rewrite重寫規則,一般寫在.htaccess里面,放在根目錄;.htaccess不用重啟Apache;
原子組的引用$1,$2...
[L]為休止符,每個L為一個段落
[NC]不區分大小寫
RewriteCondServerAdmin Example.com DocumentRoot /var/www/html ServerName 192.168.1.22 ErrorLog logs/error_log CustomLog logs/access_log common RewriteEngine On RewriteRule (.*).py$ http://192.168.1.22/$1.php #rewrite規則
Rewrite重寫條件,如果條件不滿足,放棄RewriteRule規則匹配,除非設置RewriteCond條件時加[OR]標記
用%{} 來輸出Apache變量
RewriteCond %{REQUEST_FILENAME} .*.(jpg|jpeg|gif|png) [NC] #如果請求的是圖片;Apache Rewrite 服務器變量介紹 第一部分: HTTP headers 部分參數
參數名稱: HTTP_USER_AGENT
樣例參考值: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_USER_AGENT"]
參數名稱: HTTP_REFERER
樣例參考值: http://www.test.cn/test.php 說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_REFERER"]
參數名稱: HTTP_COOKIE
樣例參考值: ZDEDebuggerPresent=php,phtml,php3 說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_COOKIE"]
參數名稱: HTTP_FORWARDED
樣例參考值: 如果使用代理服務器的話會是代理服務器的IP地址, 本地不容易搭環境測試出值來. 說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_FORWARDED"]
參數名稱: HTTP_HOST
樣例參考值: www.test.com 說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_HOST"]
參數名稱: HTTP_PROXY_CONNECTION
樣例參考值: 網絡連接代理方面的信息. 和HTTP_FORWARDED參數一樣. 本地不容易搭環境測 試出值來. 說明: PHP中貌似未提供這樣的服務器信息值. 如果又的話可能等值于: $_SERVER["HTTP_PROXY_CONNECTION"]
參數名稱: HTTP_ACCEPT
樣例參考值: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 說明: 相當于PHP中的服務器參數: $_SERVER["HTTP_ACCEPT"]第二部分: server internals 部分參數
參數名稱: DOCUMENT_ROOT
樣例參考值: C:/webRoot/t 說明: 相當于PHP中的服務器參數:$_SERVER["DOCUMENT_ROOT"]
參數名稱: SERVER_ADMIN
樣例參考值: youemailaddress@gmail.com 說明: 相當于PHP中的服務器參數:$_SERVER["SERVER_ADMIN"]
參數名稱: SERVER_NAME
樣例參考值: www.test.com 說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_NAME"]
參數名稱: SERVER_ADDR
樣例參考值: 127.0.0.1 說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_ADDR"]
參數名稱: SERVER_PORT
樣例參考值: 80 說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_PORT"]
參數名稱: SERVER_PROTOCOL
樣例參考值: HTTP/1.1 說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_PROTOCOL"]
參數名稱: SERVER_SOFTWARE
樣例參考值: Apache/2.2.11 (Win32) PHP/5.2.9-1 說明: 相當于PHP中的服務器參數: $_SERVER["SERVER_SOFTWARE"]第三部分: connection & request 部分參數
參數名稱: REMOTE_ADDR
樣例參考值: 127.0.0.1 正在瀏覽當前頁面用戶的 IP 地址。 說明: 相當于PHP中的服務器參數:$_SERVER["REMOTE_ADDR"]
參數名稱: REMOTE_HOST
樣例參考值: 127.0.0.1 正在瀏覽當前頁面用戶的主機名。反向域名解析基于該用戶的REMOTE_ADDR 說明: 相當于PHP中的服務器參數: $_SERVER["REMOTE_HOST"]
參數名稱: REMOTE_PORT
樣例參考值: 2574 (變化的值)用戶連接到服務器時所使用的端口 說明: 相當于PHP中的服務器參數: $_SERVER["REMOTE_PORT"]
參數名稱: REMOTE_USER
樣例參考值: 空 說明: PHP 好像未提供相關的$_SERVER值.
參數名稱: REMOTE_IDENT
樣例參考值: 空 說明: PHP 好像未提供相關的$_SERVER值.
參數名稱: REQUEST_METHOD
樣例參考值: GET 說明: 相當于PHP中的服務器參數:$_SERVER["REQUEST_METHOD"]
參數名稱: SCRIPT_FILENAME
樣例參考值: C:/webRoot/t/share77.html 說明: 相當于PHP中的服務器參數:$_SERVER["SCRIPT_FILENAME"]
參數名稱: PATH_INFO
樣例參考值: 空 說明: 相當于PHP中的服務器參數: $_REQUEST["PATH_INFO"]
參數名稱: QUERY_STRING
樣例參考值: a=b&c=d&e=f 說明: 相當于PHP中的服務器參數: $_SERVER["QUERY_STRING"]
參數名稱: AUTH_TYPE
樣例參考值: 空 當 PHP 運行在 Apache 模塊方式下,并且正在使用 HTTP 認證功能,這個是認證的類型。 說明: 相當于PHP中的服務器參數: $_SERVER["AUTH_TYPE"]第四部分: date and time 部分參數
參數名稱: TIME_YEAR
樣例參考值: 2009 說明: 服務器獲取當前的年份值
參數名稱: TIME_MON
樣例參考值: 04 說明: 服務器獲取當前的月份值
參數名稱: TIME_DAY
樣例參考值: 22 說明: 服務器獲取當前的日值
參數名稱: TIME_HOUR
樣例參考值: 16 說明: 服務器獲取當前時間的小時
參數名稱: TIME_MIN
樣例參考值: 26 說明: 服務器獲取當前時間的分鐘
參數名稱: TIME_SEC
樣例參考值: 34 說明: 服務器獲取當前時間的秒
參數名稱: TIME_WDAY
樣例參考值: 3 說明: 服務器獲取當天是星期幾, 從星期日-星期六, 數字從 0-6
參數名稱: TIME
樣例參考值: 20090422162634 說明: 服務器獲取當前的時間, 格式為: 年月日時分秒第五部分: specials 部分參數
參數名稱: API_VERSION
樣例參考值: 20051115:21 說明: apache 的 API 版本信息.
參數名稱: THE_REQUEST
樣例參考值: GET /share77.html HTTP/1.1 說明: 瀏覽器發給服務器的請求值. 不包括其他的頭信息.
參數名稱: REQUEST_URI
樣例參考值: /share77.html 說明: 瀏覽器請求的資源信息.
參數名稱: REQUEST_FILENAME
樣例參考值: C:/webRoot/t/share77.html 說明: 被請求的資源的在磁盤的物理地址.
參數名稱: IS_SUBREQ
樣例參考值: false 說明: 如果是 sub-request 則顯示為 true, 否則為 false.
參數名稱: HTTPS
樣例參考值: off 說明: 如果連接使用 SSL/TLS 模式, 則值為on , 否則值為off, 這個參數比較安全, 即使未載入 mod_ssl 模塊時.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/36016.html
摘要:作為用戶,所能使用的命令受到限制。啟用,需要修改,啟用,并可以用限制特定命令的使用。如果需要使用以外的其他文件名,可以用指令來改變。例如,需要使用,則可以在服務器配置文件中按以下方法配置。 簡述 .htaccess文件(或者分布式配置文件)提供了針對目錄改變配置的方法, 即,在一個特定的文檔目錄中放置一個包含一個或多個指令的文件, 以作用于此目錄及其所有子目錄。作為用戶,所能使用的命令...
概述 重寫URL是非常有用的一個功能,因為它可以讓你提高搜索引擎閱讀和索引你的網站的能力;而且在你改變了自己的網站結構后,無需要求用戶修改他們的書簽,無需其他網站修改它們的友情鏈接;它還可以提高你的網站的安全性;而且通常會讓你的網站更加便于使用和更專業。 Nginx Rewrite規則相關指令 Nginx Rewrite規則相關指令有if、rewrite、set、return、break等,其中r...
閱讀 960·2021-11-24 09:39
閱讀 3383·2021-10-27 14:20
閱讀 2322·2019-08-30 14:08
閱讀 3360·2019-08-29 16:34
閱讀 2175·2019-08-26 12:14
閱讀 2104·2019-08-26 11:54
閱讀 2771·2019-08-26 11:44
閱讀 2473·2019-08-26 11:38