Apache URL 重写查询字符串

Apache URL Rewrite query string

我想重写这个 URL :

https://example.com/super/index.php?route=doo/math&user_token=AxDJFKDLS73jfd

进入这个 URL :

https://example.com/super/math&user_token=AxDJFKDLS73jfd

甚至这个:

https://example.com/super/user_token=AxDJFKDLS73jfd

我通过修改 /super 目录中的 .htaccess 并添加:

尝试了不同的方法
RewriteEngine On
RewriteRule ^super/$ index.php?route=doo/math [L]

也尝试过:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^route=doo/math([^&]+)&?(.*)$
RewriteRule ^/?$ /%1?%2 [R,L]

也可以直接在 apache vhost 中添加:

<IfModule mod_rewrite.c>
    RewriteCond %{QUERY_STRING} ^(.*)&route=([0-9]{10,12})(?:&)(.*)$
    RewriteRule ^(.*)$ https://%{SERVER_NAME}/super/?%1/%2\?%3 [NE,L,R]
</IfModule>

不幸的是,none 的方法有效,我们将不胜感激。

这应该有效并适用于 https://example.com/super/user_token=AxDJFKDLS73jfd

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^super/user_token\=(.*)$ /index.php?route=doo/math&user_token= [L]

编辑:

或者你甚至可以使用这个

RewriteRule ^super/user_token\=([a-zA-Z0-9_-]+)$ /index.php?route=doo/math&user_token= [L]

符合您的条件。 A-Za-z0-9