2014-11-26 4 views
0

Я не понимаю, как это может работать, а потом не ... Если у меня есть .htaccess на моем root:Codeigniter .htaccess перенаправляет

RewriteEngine on 
RewriteBase/

ReWriteCond %{REQUEST_URI} !public/ 
ReWriteRule ^(.*)$ public/$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php?/$0 [PT,L] 

и мой индекс в root/public/index.php все работает отлично когда я ввожу свой URL (localhost). Переадресация страниц находит мой индекс и удаляет часть URL-адреса.

Но если я передислоцировать все в другом файле root/en и бросить файл .htaccess там:

RewriteEngine on 
RewriteBase/

ReWriteCond %{REQUEST_URI} !en/public/ 
ReWriteRule ^(.*)$ en/public/$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php?/$0 [PT,L] 

он просто не хочет, чтобы перенаправить меня root/en/public/index.php больше, когда я печатаю локальный/ан ... Я get "Запрошенная вами страница не найдена."

+0

Если вы удалите файл .htaccess и попытаться перейти к директории через полный путь делает CodeIgniter нагрузку или вы получаете ту же ошибку ? (http: // localhost/en/public) – commanderZiltoid

ответ

0

Попробуйте установить RewriteBase в каталог вы кладете приложения

RewriteEngine on 
RewriteBase /en 
+0

Я получаю Internal Server Error, что означает, что мой .htaccess ошибочен с текущей настройкой – Orangutan