亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP教程-httpd.conf文件配置

2020-03-24 17:51:57
字體:
來源:轉載
供稿:網友
首先用 記事本 程序打開 httpd.conf 配置文件。此文件存放在html' target='_blank'>Apache服務器安裝路徑下的 conf 文件夾內。 一、使用 mod_vhost_alias 1.簡單的動態虛擬主機 (1)從 Host: 頭中取得服務器名字 Server Name UseCanonicalName Off
(2)這里的日志格式,可以在將來通過第一個參數域來分隔不同的虛擬主機的日志 LogFormat %V %h %l %u %t / %r/ %s %b VCommon
CustomLog logs/Access_log vcommon
(3)在返回請求的文件名的路徑中包含進服務器名字: server name VirtualDocumentRoot /www/hosts/%0/docs
VirtualScriptAlias /www/hosts/%0/CGI-bin
2.更為有效的基于 IP 地址的虛擬主機 (1)從 IP 地址反解析得到服務器名字(server name) UseCanonicalName DNS
(2)在日志中包含 IP 地址,便于后續分發 LogFormat %A %h %l %u %t / %r/ %s %b vcommon
CustomLog logs/access_log vcommon
(3)在文件路徑中包含 IP 地址 VirtualDocumentRootIP /www/hosts/%0/docs
VirtualScriptAliasIP /www/hosts/%0/cgi-bin
二、使用 mod_rewrite 1. 使用 mod_rewrite 實現簡單的動態虛擬主機 (1)從 Host: 頭獲取服務器名字 UseCanonicalName Off
(2)可分割的日志 LogFormat %{Host}i %h %l %u %t / %r/ %s %b vcommon
CustomLog logs/access_log vcommon
Directory /www/hosts
ExecCGI is needed here because we can't force
CGI execution in the way that ScriptAlias does
Options FollowSymLinks ExecCGI
/Directory
(3)接下來是關鍵部分 RewriteEngine On
a ServerName derived from a Host: header may be any case at all RewriteMap lowercase int:tolower
首先處理普通文檔: 允許變名 /icons/ 起作用 - 其他變名類同
RewriteCond %{REQUEST_URI} !^/icons/
允許 CGIS
RewriteCond %{REQUEST_URI} !^/cgi-bin/
開始 變戲法
RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
現在處理 CGIs - 我們需要強制使用一個 MIME 類型 RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [T=application/x-httpd- cgi]2.使用獨立的虛擬主機配置文件 vhost.map (1)vhost.map 文件包含了類似下面的內容: www.customer-1.com /www/customers/1
www.customer-2.com /www/customers/2
...
www.customer-N.com /www/customers/N
(2)http.conf 包含了: RewriteEngine on
RewriteMap lowercase int:tolower
(3)定義映像文件 RewriteMap vhost txt:/www/conf/vhost.map
(4)和上面的例子一樣,處理變名 RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
(5)這里做基于文件的重新映射 RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/docs/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1
.htaccess文件功能
.htaccess文件的功能: 分布式配置文件 提供了針對目錄改變配置的方法,即:在一個特定的文檔目錄中放置一個包含一個或多個指令的文件, 以作用于此目錄及其所有子目錄。作為用戶,所能使用的命令受到限制。管理員可以通過Apache 的AllowOverride指令來設置.子目錄中的指令會覆蓋更高級目錄或者主服務器配置文件中的指令。
一、錯誤文檔的定位 (1)常用的客戶端請求錯誤返回代碼: 401 Authorization Required
403 Forbidden
404 Not Found
405 Method Not Allowed
408 Request Timed Out
411 Content Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type
(2)常見的服務器錯誤返回代碼: 500 Internal Server Error
(3)用戶可以利用.htaccess指定自己事先制作好的錯誤提醒頁面。一般情況下,人們可以專門設立一個目錄,例如errors放置這些頁面。然后再.htaccess中,加入如下的指令: ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
一條指令一行。上述第一條指令的意思是對于404,也就是沒有找到所需要的文檔的時候得顯示頁面為/errors目錄下的notfound.html頁面。不難看出語法格式為: ErrorDocument 錯誤代碼 /目錄名/文件名.擴展名
如果所需要提示的信息很少的話,不必專門制作頁面,直接在指令中使用HTML號了,例如下面這個例子: ErrorDocument 401 body bgcolor=#ffffff
你沒有權限訪問該頁面!
/body
二、文檔訪問的密碼保護要利用.htaccess對某個目錄下的文檔設定訪問用戶和對應的密碼,首先要做的是生成一個.htpasswd的文本文檔,例如: zheng:y4E7Ep8e7EYV
這里密碼經過加密,用戶可以自己找些工具將密碼加密成.htaccess支持的編碼。該文檔最好不要放在www目錄下,建議放在www根目錄文檔之外,這樣更為安全些。 有了授權用戶文檔,可以在.htaccess中加入如下指令了: AuthUserFile .htpasswd的服務器目錄
AuthGroupFile /dev/null (需要授權訪問的目錄)
AuthName EntERPassword
AuthType Basic (授權類型)
require user wsabstract (允許訪問的用戶,如果希望表中所有用戶都允許,可以使用 require valid-user) 注:括號部分為學習時候自己添加的注釋 三、拒絕來自某個IP的訪問 如果我不想某個政府部門訪問到我的站點的內容,那可以通過.htaccess中加入該部門的IP而將它們拒絕在外。 例如: order allow,deny
deny from 210.21.112.43
deny from 219.146.95
allow from all
注: 第二行拒絕某個IP,第三行拒絕某個IP段,也就是219.146.95.0~219.146.95.255 想要拒絕所有人?用deny from all好了。不止用IP,也可以用域名來設定。 四、保護.htaccess文檔 在使用.htaccess來設置目錄的密碼保護時,它包含了密碼文件的路徑。從安全考慮,有必要把.htaccess也保護起來,不讓別人看到其中的內容。雖然可以用其他方式做到這點,比如文檔的權限。不過,.htaccess本身也能做到,只需加入如下的指令: Files .htaccess
order allow,deny
deny from all
/Files
五、URL轉向 我們可能對網站進行重新規劃,將文檔進行了遷移,或者更改了目錄。這時候,來自搜索引擎或者其他網站鏈接過來的訪問就可能出錯。這種情況下,可以通過如下指令來完成舊的URL自動轉向到新的地址: Redirect /舊目錄/舊文檔名 新文檔的地址
或者整個目錄的轉向:
Redirect 舊目錄 新目錄
改變缺省的首頁文件
一般情況下缺省的首頁文件名有default、index等。不過,有些時候目錄中沒有缺省文件,而是某個特定的文件名,比如在pmwiki中是pmwiki.php。這種情況下,要用戶記住文件名來訪問很麻煩。在.htaccess中可以輕易的設置新的缺省文件名: DirectoryIndex 新的缺省文件名
也可以列出多個,順序表明它們之間的優先級別, 例如: DirectoryIndex filename.html index.cgi index.pl default.htm
rewrite重寫功能
Apache模塊 mod_rewrite,一個基于一定規則的實時重寫URL請求的引擎此模塊提供了一個基于正則表達式分析器的重寫引擎來實時重寫URL請求。它支持每個完整規則可以擁有不限數量的子規則以及附加條件規則的靈活而且強大的URL操作機制。此URL操作可以依賴于各種測試,比如服務器變量、環境變量、HTTP頭、時間標記,甚至各種格式的用于匹配URL組成部分的查找數據庫。此模塊可以操作URL的所有部分(包括路徑信息部分),在服務器級的(httpd.conf)和目錄級的(.htaccess)配置都有效,還可以生成最終請求字符串。此重寫操作的結果可以是內部子處理,也可以是外部請求的轉向,甚至還可以是內部代理處理。但是,所有這些功能和靈活性帶來一個問題,那就是復雜性,因此,不要指望一天之內就能看懂整個模塊。更多的討論、細節、示例,請查看詳細的URL重寫文檔。 (1)特殊字符的引用: 在Apache 1.3.20中,TestString和Substitution中的特殊字符可以用前導斜杠(/)來實現轉義(即忽略其特殊含義而視
之為普通字符)。 比如,Substitution可以用 /___FCKpd___27quot;來包含一個美元符號,以避免mod_rewrite把它視為反向引用。
(2)環境變量 此模塊會跟蹤兩個額外的(非標準)CGI/SSI環境變量,SCRIPT_URL和SCRIPT_URI。他們包含了當前資源的邏輯網絡視圖,而標準CGI/SSI變量SCRIPT_NAME和SCRIPT_FILENAME包含的是物理系統視圖。注意:這些變量保持的是其最初被請求時的URI/URL,即在任何重寫操作之前的URI/URL。其重要性在于他們是重寫操作重寫URL到物理路徑名的原始依據。 示例: SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html
SCRIPT_FILENAME=/u/rse/.www/index.html
SCRIPT_URL=/u/rse/
SCRIPT_URI=http://en1.engelschall.com/u/rse/
(3)rewrite的指令 rewrite的指令有很多比如RewriteBase 指令
RewriteBase指令顯式地設置了目錄級重寫的基準URL。在下文中,你將看到RewriteRule可以用于目錄級的配置文件中(.htaccess)并在局部范圍內起作用,即規則實際處理的只是剝離了本地路徑前綴的一部分。處理結束后,這個路徑會被自動地附著回去。默認值是 RewriteBase physical-directory-path 。 在對一個新的URL進行替換時,此模塊必須把這個URL重新注入到服務器處理中。為此,它必須知道其對應的URL前綴或者說URL基準。通常,此前綴就是對應的文件路徑。但是,大多數網站URL不是直接對應于其物理文件路徑的,因而一般不能做這樣的假定! 所以在這種情況下,就必須用RewriteBase指令來指定正確的URL前綴。 如果你的網站服務器URL不是與物理文件路徑直接對應的,而又需要使用RewriteBase指令,則必須在每個對應的.htaccess文件中指定RewriteRule 。
例如,目錄級配置文件內容如下: /abc/def/.htaccess -- /abc/def 目錄的配置文件
注意:/abc/def 是 /xyz 的物理路徑(例如存在一條'Alias /xyz /abc/def'指令)。
RewriteEngine On
讓服務器知道我們使用的是 /xyz 而不是物理路徑 /abc/def
RewriteBase /xyz
重寫規則
RewriteRule ^oldstuff/.html$ newstuff.html
注:上述例子中,對/xyz/oldstuff.html的請求被正確地重寫為對物理文件/abc/def/newstuff.html的請求。 以下列出了內部處理的詳細步驟: 請求:
/xyz/oldstuff.html
內部處理過程:
/xyz/oldstuff.html - /abc/def/oldstuff.html (per-server Alias)
/abc/def/oldstuff.html - /abc/def/newstuff.html (per-dir RewriteRule)
/abc/def/newstuff.html - /xyz/newstuff.html (per-dir RewriteBase)
/xyz/newstuff.html - /abc/def/newstuff.html (per-server Alias)
結果:
/abc/def/newstuff.html
雖然這個過程看來很繁復,但是由于目錄級重寫的到來時機已經太晚了,它不得不把這個(重寫)請求重新注入到Apache核心中,所以Apache內部確實是這樣處理的。但是:它的開銷并不象看起來的那樣大,因為重新注入完全在Apache服務器內部進行,而且這樣的過程在Apache內部也為其他許多操作所使用。所以,你可以充分信任其設計和實現是正確的。html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品第2页| 成人网址在线观看| 亚洲欧美日韩久久久久久| 亚洲欧美国产一本综合首页| 国产福利精品av综合导导航| 日韩欧美在线视频| 精品久久久久久亚洲精品| 久久91精品国产91久久跳| 欧美日韩福利视频| 成人黄色生活片| 亚洲精品国产成人| 亚洲成色999久久网站| 亚洲香蕉在线观看| 福利二区91精品bt7086| 国产精选久久久久久| 亚洲国产精品99| 久久久久久久网站| 亚洲精品久久在线| 国产精品一区二区久久国产| 国产精品福利在线观看网址| 亚洲自拍中文字幕| 亚洲xxxxx| 亚洲一区二区三区xxx视频| 国产亚洲美女精品久久久| 亚洲国产天堂久久综合网| 在线看欧美日韩| 亚洲网在线观看| 国产精品入口福利| 国产精品中文在线| 欧美日韩国产成人在线观看| 日韩在线视频观看正片免费网站| 97色在线视频| 日韩精品视频在线观看免费| 国产在线观看91精品一区| 中文字幕在线国产精品| 精品视频—区二区三区免费| 一区二区在线视频播放| 色噜噜狠狠色综合网图区| 国产一区二区三区毛片| 日本最新高清不卡中文字幕| 欧美成人在线免费| 欧美国产日韩二区| 欧美日韩高清区| 亚洲国产精品一区二区久| 欧美多人乱p欧美4p久久| 97色在线视频| 久久躁日日躁aaaaxxxx| 日韩在线播放一区| 欧美人与性动交| 欧美日韩免费观看中文| 欧美激情xxxx性bbbb| 色香阁99久久精品久久久| 国产精品日韩在线播放| 国产精品黄色av| 成人激情视频小说免费下载| 欧美激情在线狂野欧美精品| 国产精品99免视看9| 亚洲成人黄色网址| 日韩人在线观看| 亚洲成人教育av| 亚洲国产成人久久综合一区| 久久久久久久久久久网站| 欧美成人免费播放| 国产偷国产偷亚洲清高网站| 2019中文字幕全在线观看| 欧美理论电影网| 色老头一区二区三区| 亚洲欧美另类自拍| 日韩免费精品视频| 成人a在线视频| 欧美视频第一页| 久久精品国产久精国产一老狼| 国产91精品黑色丝袜高跟鞋| 国产主播欧美精品| 夜夜嗨av色一区二区不卡| 亚洲欧美日韩精品久久| 亚洲欧美在线播放| 国产精品一区二区av影院萌芽| 国产欧美亚洲精品| 菠萝蜜影院一区二区免费| 国产精选久久久久久| 精品视频在线播放| 98午夜经典影视| 国产一区私人高清影院| 亚洲一区二区三区久久| 欧美成年人在线观看| 97香蕉超级碰碰久久免费的优势| 91免费在线视频| 亚洲18私人小影院| 日韩免费av片在线观看| 成人乱色短篇合集| 国产精品久久久久久久久久三级| 国产精品狠色婷| 日韩亚洲欧美中文高清在线| 精品成人在线视频| 精品日韩美女的视频高清| 久久精品国产免费观看| 欧美国产日韩xxxxx| 日韩电影中文字幕| 欧美日韩999| 精品国产福利在线| 日本在线观看天堂男亚洲| 久久精品久久精品亚洲人| 亚洲乱码一区av黑人高潮| 日韩免费观看高清| 欧美疯狂xxxx大交乱88av| 亚洲精品国产福利| 中文字幕亚洲专区| 亚洲福利在线观看| 亚洲毛片在线免费观看| 91色视频在线导航| 91高清视频免费观看| 亚洲老头老太hd| 在线电影欧美日韩一区二区私密| 欧美国产一区二区三区| 7m第一福利500精品视频| 久久久女女女女999久久| 69av成年福利视频| 一区二区国产精品视频| 精品久久久久久中文字幕| 91精品国产高清自在线| 欧美日韩午夜视频在线观看| 成人网欧美在线视频| 午夜精品福利电影| 欧美日韩国产综合新一区| 亚洲最大av网站| 国产精品678| 成人乱色短篇合集| 久久精品国产久精国产一老狼| 亚洲人成人99网站| 日韩视频免费大全中文字幕| 91牛牛免费视频| 久久国产色av| 亚洲成人三级在线| 国产日韩欧美一二三区| 国产欧美日韩中文字幕在线| 欧美丝袜一区二区| 97香蕉超级碰碰久久免费的优势| 欧美大片免费观看在线观看网站推荐| 日韩精品高清在线观看| 欧美俄罗斯乱妇| 国产精品视频久久久| 日韩欧美在线国产| 91沈先生作品| 国产精品自拍小视频| 中文字幕亚洲字幕| 亚洲在线免费看| 欧美精品成人在线| 日韩中文娱乐网| 国产亚洲精品久久久久久| 精品国产乱码久久久久久虫虫漫画| 成人a在线观看| 97久久精品视频| 尤物精品国产第一福利三区| 欧美日本黄视频| 亚洲精品中文字幕av| 国产精品日韩一区| 亚洲天堂av在线免费观看| 亚洲精品日韩丝袜精品| 亚洲精品免费一区二区三区| 中文字幕欧美精品日韩中文字幕| 久久人91精品久久久久久不卡| 国产精品视频导航| 欧美中文在线字幕|