我想重写此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?%1/%2\?%3 [NE,L,R]
</IfModule>
不幸的是,这些方法都不起作用,非常感谢您的帮助。
答案 0 :(得分:0)
这应该有效并且适用于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=$1 [L]
编辑:
或者您甚至可以使用此
RewriteRule ^super/user_token\=([a-zA-Z0-9_-]+)$ /index.php?route=doo/math&user_token=$1 [L]
匹配您的火葬场。 A-Za-z0-9