2012-06-08 127 views
2

我有一個配置了多個虛擬主機的本地開發Debx64機器。 主URL被設定爲htaccess虛擬主機不能正常工作

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName blah.com 
ServerAlias blah.com 
DocumentRoot /home/blah/v1.blah.com 
<Directory /home/blah/v1.blah.com/> 
      AllowOverride All 
      Order allow,deny 
      allow from all 
</Directory> 
AccessFileName .htaccess 
ErrorLog /home/blah/blah_logs/v1.blah.com.in-error_log 
CustomLog /home/blah/blah_logs/v1.blah.com.in-access_log common 
</VirtualHost> 

和重定向到初級操作VH

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName v1.blah.com 
ServerAlias v1.blah.com 
DocumentRoot /home/blah/v1.blah.com 
<Directory /home/blah/v1.blah.com/> 
      AllowOverride All 
      Order allow,deny 
      allow from all 
</Directory> 
AccessFileName .htaccess 
ErrorLog /home/blah/blah_logs/v1.blah.com.in-error_log 
CustomLog /home/blah/blah_logs/v1.blah.com.in-access_log common 
</VirtualHost> 

我有一個htaccess的設置上v1.blah.com解析的.html作爲.PHP

Options +ExecCGI 

AddHandler php-fcgi .php .html 
Action php-cgi /home/php5-fcgi 
<FilesMatch "^php5?\.(ini|cgi)$"> 
    Order Deny,Allow 
    Deny from All 
    Allow from env=REDIRECT_STATUS 
</FilesMatch> 

這工作正常,如果我訪問的URL爲v1.blah.com,但是如果我作爲blah.com訪問它的.htaccess沒有調用和.html作爲正常服務。

我失蹤了什麼?有沒有需要改變的php.ini中的東西?

回答

4

爲什麼你需要爲你的主機創建兩個單獨的條目是否有特殊的原因?看到他們都使用相同的日誌文件和DocumentRoot,你能否將blah.com添加到ServerAlias的列表中?

所以,你最終會與下面的配置如下:

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName v1.blah.com 
ServerAlias v1.blah.com blah.com 
DocumentRoot /home/blah/v1.blah.com 
<Directory /home/blah/v1.blah.com/> 
      AllowOverride All 
      Order allow,deny 
      allow from all 
</Directory> 
AccessFileName .htaccess 
ErrorLog /home/blah/blah_logs/v1.blah.com.in-error_log 
CustomLog /home/blah/blah_logs/v1.blah.com.in-access_log common 
</VirtualHost> 
+0

完美@ patyx7是得到了它要在這種情況下。我仍然想知道爲什麼主機名影響如何/爲什麼.htaccess被調用,如果任何人都可以闡明。 –