Интеллектуальное переключение каталогов .htaccess
Привет,
Скажем так у меня есть x.com и еще y.com. ВКЛ z.com, у меня есть каталог под названием x.com/ и еще один позвал: y.com/. У меня есть запись CNAME mapping x.com и еще y.com чтобы z.com.
Вот чего я хочу добиться;
Доступ к файлу осуществляется в одном из конечных доменов;
x.com/test.txt
Затем это должно быть сопоставлено с;
z.com/x.com/test.txt
То, как я думал об этом, таково::
RewriteCond %{REQUEST_URI} !^https:\/\/z\.com\/switch.php\?.+ [NC] RewriteRule ^(.*) https://z.com/switch.php?f=$1 [R=301,NE,L]
Тогда я бы использовал switch.php для echo $_SERVER['HTTP_HOST']/file.txt где путь к файлу указан в $_GET['f'], помещенном туда с помощью файла .htaccess.
Мало того, что .htaccess вызывает бесконечный цикл, но я считаю, что это можно сделать только в .htaccess без switch.php вообще. Цикл происходит потому, что регулярное выражение не работает, чтобы исключить перезапись файла. Я бы предположил, что это происходит потому, что $1 не имеет группы захвата в регулярном выражении, но я понятия не имею, как создать группу захвата, имея отрицательное регулярное выражение. Мне нужно было бы сказать: "если это не switch.php?anything, установите $1 на то, что находится после имени хоста".
Добавление этого правила останавливает бесконечный цикл, но перезапись не происходит:
RewriteCond %{REQUEST_URI} ^https:\/\/z\.com\/(.+) [NC]
Если бы вы могли помочь мне исправить это, я был бы очень признателен.
Что я уже пробовал:
Все, что упоминалось в вопросе, плюс много гугления