Apache redirectMatch,添加查询字符串

Apache redirectMatch, add query string

我正在从子文件夹重定向到子域。这工作正常,但我想在我的 url 末尾附加一个查询字符串以跟踪有多少人被重定向。

RewriteRule ^/my-folder/(.*)$ https://subdomain.example.com/?ref=my_ref [R=302,L]

以上应该根据 this article 工作,但事实并非如此。

它只是将我重定向到 https://subdomain.example.com/

如何在重定向期间添加 ?ref=my_ref

编辑: 完整的 .htaccess

#to remove old /forum/topic and keep /topic
RewriteRule ^forum/topic/(.*)$ /topic/ [L,NC,R=301]

### Rewrites Engine
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(js|css|jpeg|jpg|gif|png|ico|map)(\?|$) /404error.php [L,NC]

RewriteRule ^/my-folder/(.*)/?$ https://subdomain.example.com/?ref= [R=302,L,NC]      

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

使用您展示的示例,请您尝试以下操作。我希望你正在寻找这个。请在测试您的网址之前清除您的浏览器缓存。

### Rewrites Engine
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(js|css|jpeg|jpg|gif|png|ico|map)(\?|$) /404error.php [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^my-folder/(.*)/?$ https://subdomain.example.com/?ref=your_string [R=302,L,NC]      

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>