我将此虚拟主机设置为虚拟主机列表中的第一个。这是
<VirtualHost localhost:80>
ServerName localhost
DocumentRoot "/www/drupal5"
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Allow from localhost
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
其余虚拟主机如下所示,表示为 *:80。
当我在这个虚拟主机中包含 DocumentRoot 时,服务器上的请求http://localhost/server-status总是通过 /www/drupal5/.htaccess 中的重写规则命中 /index.php。如果我删除 DocumentRoot 声明,/server-status 请求工作正常,但该站点根本不可用http://localhost/。
我怎样才能开始http://localhost/server-status工作以及加载站点http://localhost/?
小智 13
当我搜索“服务器状态 mod_rewrite”时找到了解决方案。巧合的是,它在一个 drupal 论坛中得到了回答:http : //drupal.org/node/52511
添加RewriteCond %{REQUEST_URI} !=/server-status到重写规则以将所有流量重定向到 /index.php 修复了它。
非常令人困惑的是 mod_rewrite 可以重写已经设置了处理程序的 uri。
小智 5
只需在虚拟主机配置文件的顶部添加一个空白虚拟主机条目,例如
<VirtualHost *:80>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)