我有一台本地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>
Run Code Online (Sandbox Code Playgroud)
并重定向到主要操作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>
Run Code Online (Sandbox Code Playgroud)
我在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>
Run Code Online (Sandbox Code Playgroud)
如果我将URL作为v1.blah.com访问,这可以正常工作,但是如果我以blah.com的身份访问它,则不会调用.htaccess并且正常提供.html.
我错过了什么?php.ini中有什么东西需要改变吗?
小智 6
是否有特殊原因需要为您的主机分别设置两个条目?看到他们都使用相同的日志文件和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>
Run Code Online (Sandbox Code Playgroud)