2014-04-20 107 views
0

服務內容我偶然注意到了這個早期和快速谷歌後,實在找不到什麼幫助。我真的很難解釋問題!停止Apache從Apache的根目錄

當我訪問http://mydomain.com/error/README我似乎越來越在/ var/WWW /錯誤/ README發現錯誤自述。我的虛擬主機mydomain.com是文檔根目錄指向/ var/www/html/mydomain,並且/ var/www/html/mydomain/error /不存在。

當然,我覺得這不應該發生,雖然我還沒有能夠複製它,但我主要關心的是用戶實際上可以訪問/ var/www /而不是/ var/www /錯誤/

Linux版本的:CentOS版本6.5(最終)

Apache的版本:Apache的/ 2.2.15

我的虛擬主機文件是:

NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName mydomain.com 
    ServerAlias www.mydomain.com 

    DocumentRoot /var/www/html/mydomain 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
    </Directory> 
    <Directory /var/www/html/mydomain/> 
     Options FollowSymLinks MultiViews 
     AllowOverride All 
     Order allow,deny 
     allow from all 
    </Directory> 

    LogLevel error 
    CustomLog /var/log/httpd/mydomain_access.log combined 
    ErrorLog /var/log/httpd/mydomain_error.log 
</VirtualHost> 

當然我覺得這不應該發生,雖然我還沒有能夠複製它,但我主要關心的是用戶實際上可以訪問/ var/www /而不是/ var/www/error/

回答

0

你可能在你的httpd.conf以下指令:

Alias /error/ "/var/www/error/" 

這只是重定向所有的錯誤查詢到/ var/WWW /錯誤(例如,如果您需要www.example.com/error/README,它會將我重定向到該導演中的一個自述文件)。刪除別名應該可以解決您的問題。

如果您擔心訪問其他目錄,那麼我作爲一個完整的新手到Apache,將建議。

  1. 審覈您的httpd.conf並刪除您不需要的別名。
  2. 修改你的容器在所有這些,有「AllowOverride無」,「所有拒絕」。
  3. 如果已經啓用了SELinux,然後從這些目錄中刪除httpd的安全上下文。
+0

謝謝,它的工作。令人討厭的是,我看了一下httpd.conf ...想不出爲什麼/我是如何錯過它的!不過,我會通過審計httpd.conf來接受你的建議。 –