Не переписывайте на полный URL с доменом в нем. Это создает перенаправление, так как оно идет на другой сайт! Вы могли бы поставить microsoft.com
там; так как это будет работать без перенаправления?
Что вам нужно сделать, это убедиться, что веб-страницы работают в исходном домене. Поэтому, когда клиент запрашивает myname.domain.com/...
, как насчет переписать это в myname.domain.com/index.php?public_site/main/myname/...
. Держите домен таким же. index.php?
можно заставить работать в любом из этих доменов. Например, даже это может сработать:
http://OTHER.domain.com/index.php?public_site/main/MYNAME/...
т.е. установите его так, чтобы не важно, какой виртуальный хост обращается к этому пути.
Если у вас есть это, то переписать можно просто:
# will not trigger redirect
RewriteRule ^(.*)$ /index.php?/public_site/main/%1/$1 [L]
Вы должны быть осторожны, чтобы не создавать цикл, поскольку теперь вы перенаправляете URL-адрес на более длинный URL-адрес, который соответствует тому же правилу перезаписи в том же домене. Вам нужно добавить RewriteCond
, чтобы не применять эту перезапись, если URL уже начинается с /index.php?public_site/
.