Ошибка 500 или правило перезаписи для получения чистых URL - PullRequest
0 голосов
/ 11 февраля 2012

Я получаю 500 внутренних ошибок сервера при использовании следующего правила перезаписи в моем .htaccess:

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

По сути, я хочу, чтобы в моем веб-приложении были чистые URL, т.е. www.example.com / login будет функционировать так же, как www.example.com / index.php / login .

Это правило перезаписи отлично работает локально на MAMP и на другом тестовом сервере Apache, но не работает на клиентском хостинге на основе 1and1.com.

Ответы [ 2 ]

2 голосов
/ 11 февраля 2012
RewriteRule ^(?!index\.php).*$ index.php/$0 [L,QSA]

Вам нужно предотвратить бесконечный цикл.Отрицательное утверждение на index.php - один из способов остановить это.

0 голосов
/ 11 февраля 2012

Я действительно нашел ответ на форуме CodeIgniter .

Это не исправило мое правило, но вместо этого пошло по-другому:

Options -MultiViews
RewriteEngine on
RewriteBase /dev
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+) index.php/$1 [L] 
...