Это правило
Rewriterule ^. * $ Index.php [NC, L]
выглядит нормально, но убедитесь, что между флагами нет пробеловто есть [NC, L]
должно быть изменено на [NC,L]
.
Вы можете попробовать эквивалент, чтобы увидеть, если он имеет значение (вам не нужен NC , потому что он уже соответствует любому запросу)
Rewriterule .* index.php [L]
Если проблема не в этом, то, скорее всего, правила до этого приведут к сбою.Прокомментируйте их оба и посмотрите, работает ли он, но добавьте RewriteCond, как показано ниже
Options +FollowSymLinks
RewriteEngine On
#if its not already index.php
RewriteCond %{REQUEST_URI} !index\.php$ [NC]
Rewriterule .* index.php [L]
Если эти правила являются реальной причиной, то я хотел бы знать, каково было ваше намерение с этими правилами, и могут ли онибыть выраженным по-другому, т. е. если целью было переписать все содержимое, кроме содержимого в каталоге шаблонов или контроллеров, то это может быть достигнуто с помощью
#if request is not for templates or controllers directory
RewriteCond %{REQUEST_URI} !^/(templates|controllers)/ [NC]
Rewriterule .* index.php [L]