как делать более сложные и динамические перезаписи, используя $ 1,% 1,% 2 и т. д.
Я пытаюсь сделать более динамическую перезапись (много доменов, указывающих на один и тот же сервер / сайт)
# put 'www' as subdomain if none is given
RewriteCond %{HTTP_HOST} ^([^\.]+\.[^\.]+)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
# rewrite subdomains
RewriteCond %{HTTP_HOST} ^(admin|files|imap|mysql)\.[^\.]+\.[^\.]+$ [NC]
RewriteCond %{REQUEST_URI} !^/_(admin|files|imap|mysql)/ [NC]
RewriteRule ^(.*)$ /_%1/$1 [L]
# redirect to subdomain
RewriteCond %{HTTP_HOST} ^www\.([^\.]+\.[^\.]+)$ [NC]
RewriteCond %{REQUEST_URI} ^/_([^/]*)/ [NC]
RewriteRule ^(.*)$ http://%1.domain.com/ [L,R=301]
# rewrite 'secure' subdomain
RewriteCond %{HTTP_HOST} ^(demo|secure)\.[^\.]+\.[^\.]+$ [NC]
RewriteCond %{REQUEST_URI} !^/_secure/ [NC]
RewriteRule ^(.*)$ /_secure/$1 [L]
но теперь я столкнулся с проблемой ..
по #redirect to subdomain
Я не могу понять, как решить условие и правило, как и другое, которое я создал ... каким-то образом мне нужно извлечь домен из первого условия, а затем использовать его в правиле с% 1, но как вы можете это сделать, когда у вас есть еще одно промежуточное состояние?
Данные захвата для %1
и т. д. используется из RewriteCond
сразу над RewriteRule
.
Есть ли причина, по которой оценка / захват вашего пути URI не может просто произойти в RewriteRule
? Что-то вроде этого (я думаю, это то, что вы собираетесь?):
RewriteCond %{HTTP_HOST} ^www\.([^\.]+\.[^\.]+)$ [NC]
RewriteRule ^/_([^/]*)/$ http://$1.%1/ [L,R=301]