我有一台配置了许多虚拟主机的本地dev Debx64计算机。 主URL设置为
<VirtualHost *:80>
ServerAdmin webmaster@blah.com
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 webmaster@blah.com
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>
我在v1.blah.com上设置.htaccess来解析.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中有什么东西需要更改吗?
答案 0 :(得分:5)
为什么您需要为主机分配两个单独的条目?看到他们都使用相同的日志文件和DocumentRoot,你不能将blah.com添加到ServerAlias列表中吗?
所以你最终会得到以下配置:
<VirtualHost *:80>
ServerAdmin webmaster@blah.com
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>