Вы пишете ^view.$
предполагает, что вы думаете о файле с именем "view".(это имя файла complete , оканчивающееся точкой).Это действительно то, что вы имеете в виду?
$
отмечает конец (исходной строки, с которой сопоставляется регулярное выражение).Возможно, вам это не нужно.
(Прочитайте документы о регулярных выражениях, прежде чем использовать их, чтобы понять каждый символ, который вы пишете! Написание кода и непонимание того, что это значит, нехорошо.)
Дополнительные проблемы
Я вижу, что после того, как вы избавитесь от $
, у вас могут возникнуть дальнейшие проблемы, потому что вы можете захотеть создать полное имя файла в правой части правила перезаписи (как что-то, что элюирует на «mobile.view.mainlayout.php») (или нет?).
Я не помню: переписывают ли правила Apache только небольшой совпавший фрагмент ("view.") В строке и объединяют его с остальной частью запрошенного имени файла ("mainlayout.php"),или Apache выбрасывает старое запрошенное имя файла («view.mainlayout.php») и заменяет его тем, что находит в правой части правила перезаписи (поэтому оно не должно быть заменяющим элементом, например «mobile.view».msgstr "", а вместо этого укажите полное имя файла)?
Если это так, сопоставьте оставшуюся часть строки с ( )
в регулярном выражении в левой части правила перезаписи и вставьте соответствующийчасть обратно на правой стороне.