如何使用htaccess重写虚拟子域以使用其他参数查询参数

问题描述

我正在为我网站中的所有用户创建子域。我使用通配符子域并使用以下代码使用 htaccess 文件处理它。这工作正常。它将 user1.mydomain.com 重写为 mydomain.com/subdir/index.PHP?user=user1

RewriteCond %{HTTP_HOST} !^www\.mydomain\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.mydomain\.com [NC]

RewriteRule ^$ subdir/index.PHP?user=%1 [L]

现在,我需要向 url 添加一个参数。请提出建议。

如何重写 user1.mydomain.com?data=value1 到 mydomain.com/subdir/index.PHP?user=user1&data=value1

解决方法

在替换 URL 中指定您自己的查询字符串,默认情况下将丢弃原始 URL 上存在的任何查询字符串。

QSA flag 允许您指定要合并新查询字符串和来自最初请求的 URL 的字符串。