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>
我正在从子文件夹重定向到子域。这工作正常,但我想在我的 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>