Ошибка неверной конфигурации Htaccess 500

Я реализовал новый файл.htaccess по адресу http://www.ssdpsjal.tk/ Мой код -

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ n/index.php/$1 [L]
RewriteRule ^$ /index [L]
Redirect /administrator /sadmin1

Я использую CodeIgniter. Вы можете посетить веб-сайт, чтобы увидеть ошибку.

Более того, я попробовал этот.htacccess на своем локальном сервере, и там не отображаются такие ошибки (я думаю)

Моя структура документа выглядит следующим образом

--- ssdpsjal.tk                //given by host. Non-writable
  --n                          //the folder where website is stored
  --web_based_editor           //something my website uses
  --.htaccess file             //Htaccess file that I told about
  --Some other stuff not relevent to the question

РЕДАКТИРОВАТЬ

Я много раз менял код, и после некоторых изменений обнаружил, что ошибка возникает в RewriteRule ^(.*)$ n/index.php/$1 [L]

НОТА

index в RewriteRule ^$ /index [L] это не Index.php Это на самом деле функция (метод) моего контроллера codeigniter

Фактический URL без.htaccess - http://www.ssdpsjal.tk/n/index.php/s/index

Обратите внимание index на последнем предложении, это тот!

3 ответа

Нашел ответ на свой вопрос.

Файл.htaccess совершенно корректен. Проблема была с веб-хостом. Они обновляли свои сервисы без какого-либо предупреждения (уведомление пришло через 5-6 часов), из-за чего многие сервисы были закрыты.

Ну, я изменил мой Webhost на новый, который намного лучше. ( 000WebHost)

Я не уверен в вашей конфигурации, но вы уверены, что mod_rewrite существует?

Может быть:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)  http://www.ssdpsjal.tk/$1 [R=301,L]
RewriteRule ^$ n/index.php [L]
Redirect /administrator /sadmin1
</IfModule>
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  RewriteRule ^administrator /sadmin1 [R=301,L]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

или просто измените эту строку:

RewriteRule ^(.*)$ n/index.php/$1 [L]

в:

RewriteRule ^$ n/index.php [L]
Другие вопросы по тегам