Дело было так: перенёс сайт с одного хостинга на другой, на первом админка работала правильно, но после переноса перестала открываться. Единственное изменение, которое я сделал во время переноса - по настоянию хостера заменил файл .htaccess на web.config.
Содержание .htaccess было таким:
Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index.php|images|robots.txt|public)
RewriteCond %{REQUEST_URI} !.(cssіjsіjpgіgifіpng)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Содержание web.config сделал таким:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Index">
<match url="^(.*)$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Можете указать, где я допустил ошибку? Браузер выводит только 500 - Internal server error - я не могу понять, какой элемент не работает.