2015-06-28 2 views
1

Я только что перешел из CentOS dedi в Ubuntu VPS. Сайт - это настраиваемый PHP-код.Redirect Loops и .htaccess

Фронтмен прекрасно работает (включая правила перезаписи). Администратор бэкенд я не могу переписать правила, чтобы работать ...

Первая ошибка:

H00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. 

Затем после использования уровня отладки:

AH00122: redirected from r->uri = /admin/index.php 

Соответствующие биты моего HTAccess являются:

# mod_rewrite set: 

Options +Includes 

RewriteEngine on 

# Administration 
RewriteCond %{REQUEST_URI} ^(/+)admin/(.*)$ 
RewriteRule (.*) %{DOCUMENT_ROOT}/admin/index.php [L,QSA] 

# Rewrite orther 
RewriteCond %{REQUEST_URI} !^(/+)index.php(.*)$ 
RewriteCond %{REQUEST_URI} !^(/+)syscmd.php$ 
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php?page=$1 [L,QSA] 

# If Rewriting Failure, Show error message (Internal backup) 
RewriteCond %{REQUEST_URI} !^(/+)index.php$ 
RewriteCond %{REQUEST_URI} !^(/+)syscmd.php$ 
RewriteRule (.*) \1 [F] 

Это тоже хорошо работало на CentOS.

Любые идеи? Я уже пытался добавить следующее в качестве первого условия:

RewriteCond %{REQUEST_URI} !/admin/ [NC] 

Это остановило его переписывание/админ полностью.

Благодаря

ответ

1

Ваши правила не отображаются правильно, как %{DOCUMENT_ROOT} представляет собой путь в файловой системе, и она не должна быть использована в целевых URL-адресов.

Попробуйте эти правила:

Options +Includes +FollowSymLinks 
DirectoryIndex index.php 
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

# Administration 
RewriteRule ^admin/(.*)$ admin/index.php [L,NC] 

# Rewrite other 
RewriteCond %{THE_REQUEST} !/syscmd\.php [NC] 
RewriteRule ^(.+)$ index.php?page=$1 [L,QSA] 
+0

Спасибо! Первая часть в #Administration работала, и я смог получить доступ к области/admin area fine. Но изменения под «#Rewrite other» нарушили интерфейс. В основном я мог загружать домашнюю страницу с помощью /index.php и всех других внутренних страниц, однако, если бы я попытался загрузить домашнюю страницу без index.php (т. Е. Www.domain.com), тогда она вышла бы с запрещенной ошибкой 403, поэтому Я только что вернул этот раздел тому, что у меня было изначально. Конечно, счастлив попробовать любые другие изменения, которые вы, возможно, думаете, должны работать. Еще раз спасибо! – Matt

+1

ok проверить мои обновленные правила сейчас. – anubhava

+1

Это работает, спасибо! – Matt

 Смежные вопросы

  • Нет связанных вопросов^_^