Я работаю над системой виртуальных доменов. У меня есть подстановочный DNS, настроенный как *.loc
, и я пытаюсь работать с моим файлом .htaccess
. Следующий код работает:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?example\.loc$ [NC]
RewriteCond %{REQUEST_URI} !^/example/
RewriteRule (.*) /example/$1 [L,QSA]
Но я хочу, чтобы это работало со всем, что я вставил. Однако мне нужно, чтобы %{REQUEST_URI}
проверял текст, найденный в качестве домена. Я пытался использовать этот код:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?([a-zA-Z0-9-]*.)?([a-zA-Z0-9-]+)\.loc$ [NC]
RewriteCond %{REQUEST_URI} !^/%3/
RewriteRule (.*) /%3/$1 [L,QSA]
Но строка RewriteCond %{REQUEST_URI} !^/%3/
заставляет мой код выдавать внутреннюю ошибку сервера. Я понимаю, что это связано с% N в моем коде, но есть ли способ работать с ним? Мне нужна эта строка, в противном случае мой код не из внутренних перенаправлений.
Я надеюсь, что это имеет смысл для кого-то. Все, что мне нужно, это иметь возможность ссылаться на RewriteCond в следующем RewriteCond.