Я использую пару директив перезаписи, которые всегда работали раньше на apache2, но теперь пробую новый общий хостинг и правила перезаписи, похоже, не применяются.
Я сократил файлы .htaccess до следующих основных правил:
RewriteEngine On
Rewritebase /demo/
RewriteRule ^(.*)$ index.php/$1 [L]
Как видите, я хочу переписывать каждый запрос в мой файл index.php в демо-папке root.
Таким образом, все как http://www.example.com/demo/albums/show/1 должно быть обработано http://www.example.com/demo/index.php для стандартной установки MVC. (Я использую CodeIgniter кстати)
Приведенные выше директивы приводят к ошибке 500, поэтому я подумал, что, возможно, из-за некоторых возможных синтаксических различий между 1.3 и 2.x.
После некоторого редактирования следов и ошибок я обнаружил, что само правило перезаписи ошибочно, но я действительно не понимаю, почему.
- Есть идеи, почему мое правило перезаписи не работает? это было раньше на многих разных серверах.
- Предложения как это исправить?
Примечание: mod_rewrite работает, я написал небольшой тест, чтобы быть уверенным.