2013-02-24 28 views
-1

這是我的代碼:Ubuntu的: 「DocumentRoot的不退出」

NameVirtualHost *:80 
<VirtualHost *:80> 
    DocumentRoot var\www\public 
    ServerName my_ip 
</VirtualHost> 

<Directory "/var/www/public"> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 

但有錯誤:

[Mon Feb 25 01:38:54 2013] [warn] NameVirtualHost *:80 has no VirtualHosts ... waiting Warning: DocumentRoot [/etc/apache2/var\www\public] does not exist apache2: Could not reliably determine the server's fully qualified domain name, using "my_ip" for ServerName

[Mon Feb 25 01:38:55 2013] [warn] NameVirtualHost *:80 has no VirtualHosts

爲什麼DocumentRoot的搜索在/etc/apache2/var\,我寫var\www\public

那修復我的問題:/var/www/public

+0

不是'RewriteRule ^。* $ - [QSA,L]'而不是'RewriteRule ^。* $ - [NC,L]'?你不需要'NC'作爲這個條件,'QSA'正在添加請求查詢字符串(不要以爲它修復了這個問題)。它現在總是按照這個規則離開(因爲'^。* $')。 – 244an 2013-02-24 22:31:00

回答

2

Ubuntu不使用反斜槓\作爲路徑分隔符,它使用/。由於它不理解路徑分隔符,因此它將路徑作爲從/etc/apache/var而不是絕對路徑的相對路徑。請使用/var/www/public作爲文檔根目錄。

+0

現在寫:[Mon Feb 25 01:48:59 2013] [警告] NameVirtualHost *:80沒有VirtualHosts ...正在等待apache2:無法可靠地確定服務器的完全合格的域名n ame,使用my-ip for ServerName – 2013-02-24 21:47:01

+0

只需編輯您的/ etc/hosts文件即可擺脫該警告。 – wimvds 2013-02-24 21:50:15

+0

@WarKings嘗試'grep NameVirtualHost *'在你的配置目錄中,它應該只存在一次(在上面顯示的文件中),你可能有兩個。我在ports.conf中出現了問題。 – 2013-02-24 21:53:10