当我将<VirtualHost>
指令添加到下面的.htaccess
文件时,我们的生产服务器news.XXX
(我写的是XXX
而不是我们的真实域名)失败,内部错误。
请帮助您了解错误原因。
Header set X-UA-Compatible "IE=edge"
AddType text/html .html
AddType text/x-component .htc
AddHandler server-parsed .html .xml
Options -Indexes +Includes +ExecCGI
Order allow,deny
Allow from all
#<FilesMatch "\.(xml|css|js)$">
# ExpiresActive on
# ExpiresDefault "access plus 15 minutes"
#</FilesMatch>
#<IfModule mod_expires.c>
# ExpiresActive on
# ExpiresDefault "access"
# ExpiresDefault "access plus 15 minutes"
# ExpiresByType text/html "access"
# ExpiresByType text/plain "access"
# ExpiresByType text/csv "access"
# ExpiresByType application/xml "access"
#</IfModule>
RewriteEngine On
#DirectoryIndex /working-on-server.html
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^(.*)$ /working-on-server.html [L]
# Replaced real domain with XXX
<VirtualHost victor11.XXX>
DirectoryIndex /cgi-bin/news/index.NEW.fcgi
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /cgi-bin/news/index.NEW.fcgi [L,QSA]
</VirtualHost>
DirectoryIndex /cgi-bin/news/index.fcgi
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /cgi-bin/news/index.fcgi [L,QSA]
答案 0 :(得分:0)
VirtualHost指令仅在全局服务器作用域/实际配置文件中有效。在htaccess或任何其他配置部分中无效。
如果需要虚拟主机,则需要在启动时编辑Apache读取的配置文件。
每个指令都在手册中列出了对其有效的上下文。
答案 1 :(得分:0)
VirtualHost指令不能在.htaccess文件中使用,因为Apache在包含.htaccess规则之前已经确定正在使用哪个VirtualHost。
如果您使用同一公共html文件夹拥有多个VirtualHost,则可能需要执行以下操作:
randint()