RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^test/([a-zA-Z0-9|]+)/([^/]*)/(.*)$ test.php?var1=$1&var2=$2&var3=$3 [B,QSA]
[^/]
означает «любой символ, который не является sla sh». Естественно, это означает, что «текст» не может содержать косые черты, но ваш URL будет соответствовать правильно.
Также обратите внимание на [B]
, который является одним из многих параметров, которые вы можете добавить в правило перезаписи. [B]
означает, что любые &
s и некоторые другие символы будут экранированы.
теперь в вашем test.php
print_r($_GET);
будет выводиться для URL http://localhost/test/123/456/asdf
:
Array
(
[var1] => 123
[var2] => 456
[var3] => asdf
)