это файл .htaccess на серверепеременная RewriteCond обратно соотнесение% 2
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} !^www.
RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.domain.com(.*)$
RewriteRule ^(.*)$ http://domain.com/test\.php?user=%1&path=%2 [R]
Согласно моему пониманию выше кода, если я прошу asher.domain.com/user он должен переписать http://domain.com/test.php?user=asher & путь =/пользователь правый?
Вместо этого я получаю http://domain.com/test.php?user=asher & путь =% 2 пуст. но если я использую $ 1 вместо % 2 Кажется, я получаю правильный результат.
Я мог бы сделать самую глупую ошибку, но я не уверен, где я ошибся. Помогите мне, ребята? где ошибка в правилах перезаписи, что% 2 не работает для меня?
oh. Я ожидал, что «(. *)» во втором «RewriteCond» будет соответствовать% 2. это не так? – santosh
Это так, но '$ {HTTP_HOST}' ничего не будет в нем передаваться '.com'. Это просто имя хоста, оно не содержит URI запроса. –
о право. спасибо за это. – santosh