后來發現,原來又是Apache沒配置 好,是apache的mod_authz_host模塊在起控制作用。 1.如果不啟用vhosts 只需修改 httpd.conf 默認Directory節如下,注意紅色部分,表示目錄/usr/local/apache/htdocs允許所有 主機訪問 復制代碼 代碼如下: <Directory "/usr/local/apache/htdocs"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # #Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> 由于主目錄被指到別的地方了,所以將藍色部分/usr/local/apache/htdocs換成你新的主目錄就OK了。 2.啟用vhosts 啟 用vhosts的話,你就可以不作上面的修改了,因為VirtualHost可以單獨配置這個節的屬性,所以我們在VirtualHost這個節里配置的 話就更方便了,下面的配置中,我把我的網站放在/var/vhosts/www.test.cn下。 復制代碼 代碼如下: /usr/local/apache/conf/extra/httpd-vhosts.conf <VirtualHost *:80> <Directory "/var/vhosts/www.test.cn" > #Deny from all Allow from all </Directory> DocumentRoot "/var/vhosts/www.test.cn" ServerName www.test.cn </VirtualHost> 如果把Deny from all的注釋去掉,那么服務器就會拒絕所有訪問(和我們剛開始把主目錄移動到htdocs外而沒做任何配置修改時一樣,哈哈) 補充一點: 如果你是寫個index.php放在目錄下測試,可要注意了,記得加上默認主頁index.php DirectoryIndex index.html index.php