2013-02-11 5 views
0

Я не знаю много PHP, но у меня был фрилансер для разработки сайта для меня, но теперь, когда я загрузил его на свой хостинг, я не могу заставить его работать (база данных и все настроено правильно). Я получаю 500 внутренних ошибок сервера, когда я пытаюсь получить доступ к домену, но я могу получить доступ к сайту, если я наберу /index.php после него. То же самое происходит с категориями на сайте, после чего на них отображается ошибка. Вот HTAccess код, а вот сайт URL: http://tinyurl.com/vvcheftHTACCESS 500 Внутренняя ошибка

RewriteEngine on 
RewriteCond $1 !^(index\.php|uploads|assets|robots\.txt) 
RewriteRule ^(.*)$ /.../index.php/$1 [L] 
+0

Вы не можете сделать 'RewriteCond $ 1',' $ 1' еще не существует. – ceejayoz

+1

500 означает «Что-то пошло не так, вы клиент, вам не нужно знать, что». Посмотрите в журналах сервера реальную ошибку. – Quentin

+0

@ceejayoz Что это значит: DI действительно не имеет никакой идеи: D – Mariola

ответ

0

Там нет необходимости ссылаться на $ 1 в вашей RewriteCond линии, где она есть. В строке 2 удалите $ 1 кода, который вы указали выше. Я считаю, что это должно работать так, как вы ожидаете. Если это не так, пожалуйста, уточните и дайте мне знать.

+0

Просто сделал это, но произойдет одно и то же: \ – Mariola

+0

Нет правила синтаксически корректны. –

+0

Я только что увидел это в журналах ошибок [Mon Feb 11 09:25:32 2013] [warn] RewriteCond: параметр NoCase для шаблона-нережима re-le '-f' не поддерживается и будет проигнорирован. – Mariola

0

Понял, его прекрасно работает, я заменил мой файл Htaccess с этим один:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^(.*)$ /index.php/$1 [NC,L] 
Смежные вопросы