问题描述
我正在从子文件夹重定向到子域。这工作正常,但我想在我的 url 末尾附加一个查询字符串来跟踪有多少人被重定向。
RewriteRule ^/my-folder/(.*)$ https://subdomain.example.com/?ref=my_ref [R=302,L]
以上应该根据 this article 工作,但事实并非如此。
它只是将我重定向到 https://subdomain.example.com/
编辑: 完整的 .htaccess
#to remove old /forum/topic and keep /topic
RewriteRule ^forum/topic/(.*)$ /topic/$1 [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=$1 [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>