程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Apache服務器虛擬主機常見問題及配置

Apache服務器虛擬主機常見問題及配置

編輯:PHP綜合

1、如何讓自己的域名解析到該ip有效,其他解析到該ip的域名無效

(1)、所有解析到該ip的域名均有效NameVirtualHost 192.168.1.1:80

<VirtualHost 192.168.1.1:80>
ServerAdmin [email protected]
ServerName www.suctephp.com
DocumentRoot /home/www/apache
</VirtualHost>

(2)、只有自己的域名解析到該ip才有效NameVirtualHost 192.168.1.1:80

<VirtualHost 192.168.1.1:80>
ServerName 192.168.1.1
DocumentRoot /dev/null
</VirtualHost>
<VirtualHost 192.168.1.1:80>
ServerAdmin [email protected]
ServerName www.suctephp.com
DocumentRoot /home/www/apache
</VirtualHost>

2、只能通過我限定的域名訪問,不可以通過輸入IP地址的方式訪問

apache的配置文件認為如果找不到所對應的域名,就自動轉交給第一個域名,所以我把第一個域名下放置一個錯誤頁就ok了。

我的相關配置如下:

NameVirtualHost *
<VirtualHost *>
ServerName error.52itbc.com
DocumentRoot /usr/local/ahache/htdocs/error
</VirtualHost>
<VirtualHost *>
ServerName bbs.52itbc.com
ServerAlias bbs.52itbc.com
DocumentRoot /usr/local/ahache/htdocs/bbs
</VirtualHost>
<VirtualHost *>
ServerName 52itbc.com
ServerAlias 52itbc.com
DocumentRoot /usr/local/ahache/htdocs/www
</VirtualHost>

3、Apache中運行CGI程序

ScriptAlias指令使Apache允許執行一個特定目錄中的CGI程序。當客戶端請求此特定目錄中的資源時,Apache假定其中文件都是CGI程序並試圖運行。

ScriptAlias指令形如:
ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/

如果Apache被安裝到默認的位置,默認的配置文件httpd.conf中則會有上述配置。ScriptAlias指令定義了映射到一個特定目錄 的URL前綴,與Alias指令非常相似,兩者一般都用於指定位於DocumentRoot目錄以外的目錄,其區別是ScriptAlias又多了一層含 義,即其URL前綴中任何文件都被視為CGI程序。所以,上述例子會指示Apache,/cgi-bin/應該指向/usr/local/apache /cgi-bin/目錄,且視之為CGI程序。

ScriptAlias目錄以外的CGI由於安全原因,CGI程序通常被限制在ScriptAlias指定的目錄中,如此,管理員就可以嚴格地控制 誰可以使用CGI程序。但是,如果采取了恰當的安全方法措施,則沒有理由不允許其他目錄中的CGI程序運行。比如,你可能希望用戶在UserDir指定的 宿主目錄中存放頁面,而他們有自己的CGI程序,但無權存取cgi-bin目錄,這樣,就產生了運行其他目錄中CGI程序的需求。

用Options顯式地允許CGI的執行
可以在主服務器配置文件中,使用Options指令顯式地允許特定目錄中CGI的執行:

<Directory /usr/local/apache/htdocs/somedir>
Options +ExecCGI
</Directory>

上述指令使Apache允許CGI文件的執行。另外,還必須告訴服務器哪些文件是CGI文件。下面的AddHandler指令告訴服務器所有帶有cgi或pl後綴的文件是CGI程序:

AddHandler cgi-script cgi pl

.htaccess文件是針對目錄進行配置的一種方法。Apache在提供一個資源時,會在此資源所在目錄中尋找.htaccess文件,如果有, 則使其中的指令生效。AllowOverride 指令決定了.htaccess文件是否有效,它指定了哪些指令可以出現在其中,或者根本不允許使用。為此,需要在主服務器配置中如此配置:

AllowOverride Options

在.htaccess文件中,需要如此配置:

Options +ExecCGI

以使Apache允許此目錄中CGI程序的執行。

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved