我希望设置一个 vhosts 配置,以便任何 ip 下的所有域都指向 var/www/index.php,这样我就可以从那里对它们进行排序...我确信这很简单,但很难在谷歌上搜索这个特定的问题;)
编辑:抱歉,我最初并不清楚,但我需要任何文件请求转到 var/www,例如:sub.domain.com/lol.php 将请求 index.php...
答案1
这就是标准 Apache 配置的作用!根本不需要任何虚拟主机,只需一个监听端口 80 的基本配置,而无需指定要监听的 IP 地址。
答案2
您必须在 apache 配置中设置此项:
NameVirtualHost *:80
如果其他 vhost 定义都不匹配,则将返回 apache 配置中的第一个 vhost 定义。我有一个名为的配置文件(在 CentOS 5 上按文件名排序)。
/etc/httpd/conf.d/000-Default-webhoster.basjes.nl.conf
我的第一个 Vhost 类似这样:
<VirtualHost *:80>
DocumentRoot /var/www/html/Default/
ServerName webhoster.basjes.nl
UseCanonicalName on
CookieTracking on
CookieDomain .basjes.nl
</VirtualHost>
在那里你可以处理任何事情。
答案3
您可以使用 mod_rewrite 规则将 lol.php 的请求重定向到 index.php。首先,启用 mod_rewrite。
httpd.conf:
LoadModule rewrite_module modules/mod_rewrite.so
(此部分根据您的操作系统而有所不同。)
Ubuntu 的 mod_rewrite:
# a2enmod rewrite && /etc/init.d/apache2 force-reload
在您的 DocumentRoot 中创建一个 .htaccess 文件。
#.htaccess code
RewriteEngine On
RewriteRule ^(.*)\.php$ index.php [L]