Не переписывайте полный 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/
.
person
Kaz
schedule
10.03.2012
RewriteCond
теперь с нотацией%
. Я заметил эту проблему в вашем коде, в вопросе stackoverflow.com/questions/9632242/ . Вы использовали решение, но не приняли ответ. - person Kaz   schedule 10.03.2012