Ошибка неверной конфигурации 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]