来自获取url的Apache虚拟主机 服务器管理员admin@example.com ServerName example.com ServerAlias www.example.com DocumentRoot/var/www/example.com/public\u html ErrorLog${APACHE_LOG_DIR}/error.LOG CustomLog${APACHE\u LOG\u DIR}/access.LOG组合

来自获取url的Apache虚拟主机 服务器管理员admin@example.com ServerName example.com ServerAlias www.example.com DocumentRoot/var/www/example.com/public\u html ErrorLog${APACHE_LOG_DIR}/error.LOG CustomLog${APACHE\u LOG\u DIR}/access.LOG组合,apache,Apache,上面是我在设置一些站点时遵循的示例。但我想做的基本上是: www.example.com?site=mynewsite.com 使用htaccess:www.example.com/mynewsite.com <VirtualHost *:80> ServerAdmin admin@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/e

上面是我在设置一些站点时遵循的示例。但我想做的基本上是:

www.example.com?site=mynewsite.com 使用htaccess:www.example.com/mynewsite.com

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

服务器管理员admin@example.com
ServerName example.com/mynewsite.com
ServerAlias www.example.com/mynewsite.com
DocumentRoot/var/www/example.com/public\u html
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
遗憾的是,上面的方法不起作用

我之所以要这样做,是因为我想使用数据库生成一个网站,该数据库将根据URL触发

我该怎么办?

您可以尝试晦涩难懂的ServerPath指令,该指令基于URL路径的第一个组件将请求映射到虚拟主机

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com/mynewsite.com
    ServerAlias www.example.com/mynewsite.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>