Проблема в этой строке:
RewriteCond %{HTTP_HOST} !^www.mcr.trinhall.cam.ac.uk$ [NC]
Вам НУЖНО экранировать точку .
символ , если вы хотите добиться того, чего хотите. В регулярных выражениях символ точки означает ЛЮБОЙ символ. Ваше текущее регулярное выражение будет соответствовать www.mcr.trinhall.cam.ac.uk
, www-mcr-trinhall-cam-ac-uk
, www8mcr8trinhall8cam8ac8uk
и т. Д. - у вас есть идея.
Чтобы решить эту проблему, избегайте точек:
RewriteCond %{HTTP_HOST} !^www\.mcr\.trinhall\.cam\.ac\.uk$ [NC]
или использовать сопоставление без регулярных выражений (сравнение строк):
RewriteCond %{HTTP_HOST} !=www.mcr.trinhall.cam.ac.uk [NC]