У меня нет времени, чтобы проверить это прямо сейчас, но вы можете попробовать это и посмотреть, работает ли это.Возможно, что-то пойдет не так, поэтому, если у вас возникнут проблемы, я с радостью разберусь позже.Кроме того, я думаю, что я охватил все, что вы хотели сделать, но дайте мне знать, если я что-то пропустил.
RewriteEngine On
# Force redirect to HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{HTTP_HOST}/$0 [R=301,L]
Редактировать: Я обновил набор правил ниже.Я подумал о вашем вопросе, и не будете ли у вас проблемы с обслуживанием ваших поддоменов по TLS / SSL?Кроме того, одно из следующего должно делать то, что вы хотите (без ошибок на этот раз, я надеюсь):
Если вы хотели внутреннего перенаправления:
RewriteCond %{HTTP_HOST} !=mydomain.com
RewriteCond %{HTTP_HOST} !^www
RewriteCond %{REQUEST_URI} !^/index
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^([^\.]+)[^/]*/([^/]+)?
RewriteCond %1&u=%2 ^([^&]+)(&u=.+)?
RewriteRule ^.*$ /index?o=%1%2
Если вы хотели внешнего перенаправления:
RewriteCond %{HTTP_HOST} !=mydomain.com
RewriteCond %{HTTP_HOST} !^www
RewriteCond %{REQUEST_URI} !^/index
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^([^\.]+)[^/]*/([^/]+)?
RewriteCond %1&u=%2 ^([^&]+)(&u=.+)?
RewriteRule ^.*$ https://www.mydomain.com/index?o=%1%2 [R=301,L]