2014-10-19 2 views
1

Мой Htaccess:Apache mod_rewrite бесконечный цикл, не может исправить это

RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ([^/.]+)/([^/.]+)(.*) /Application/?path=$1/$2$3 [L,QSA] 
RewriteRule ^$ /Application/?path=ACFrontPage/getMainPage [L,QSA] 
RewriteRule (.*) /Application/index.php?path=$1 [L,QSA] 

Эта линия вызывает бесконечное редирект:

RewriteRule (.*) /Application/index.php?path=$1 [L,QSA] 

Но мне нужно, если предыдущие правила не совпадают, чтобы перенаправить все к индексу .php. Как я могу это сделать?

Из бревен это его делает:

split uri=/Application/?path=Application/ -> uri=/Application/, args=path=Application/&path=Application/&path=Application/&path=Application/&path=Application/&path=Application/&path=Application/&path=Application/&path=Application/&path=Application/ 

========================

@anubhava

Я попробовал ваш ответ предложил и она работает для всего, кроме базового домена, т.е.: http://example.com/

+1

'RewriteCond% {REQUEST_URI} ^/Application/индекс \ .php' выше' RewriteRule (. *) /Application/index.php?path = $ 1 [L, QSA] 'или' RewriteRule ((!! ^/Application/index \ .php). *) /Application/index.php?path=$1 [L, QSA] '- не проверял его – Cheery

+0

Спасибо , сначала я попробовал, это не сработало для меня, во-вторых, я попробую позже. –

+0

О, извините, первый на самом деле работал. спасибо) –

ответ

1

RewriteCond применим только на следующий RewriteRule. Tweak свои правила, чтобы избежать перезаписи для всех существующих файлов или каталогов:

RewriteEngine On 

RewriteRule ^$ /Application/?path=ACFrontPage/getMainPage [L] 

# skip rewrite for all files/directories 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

RewriteRule ^([^/.]+)/([^/.]+)(.*)$ /Application/?path=$1/$2$3 [L,QSA] 

RewriteRule ^(.+)$ /Application/index.php?path=$1 [L,QSA] 
+0

Пробовал это, как предложил, не помогло. –

+0

Эти комментарии не очень помогают. Укажите детали как местоположение этого .htaccess? Какой URL-адрес вы вводили в браузере? Какая ошибка вы получили и есть ли еще правила? – anubhava

+0

Извините, я просто использовал решение, которое было предложено в комментариях к моему вопросу. Что касается информации, которую вы запрашиваете, я отредактирую свой вопрос с ней. –

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