Apache URL Rewrite строка запроса - PullRequest
       15

Apache URL Rewrite строка запроса

0 голосов
/ 09 сентября 2018

Я хотел бы переписать этот 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

Я пыталсяразличные методы, изменив .htaccess в каталоге / super и добавив:

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>

К сожалению, ни один из методов не работает, помог бы очень признателен.

1 Ответ

0 голосов
/ 09 сентября 2018

Это должно работать и относится к 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]

Edit:

Или вы даже можете использовать это

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

В соответствии с вашими критериями. A-Za-z0-9

...