Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [htaccess] Zapętlanie przekierowań, 10 internal redirects
sebekzosw
post
Post #1





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


Witam,

mam taki plik htaccess:

Kod
Options FollowSymLinks
Options -Indexes

RewriteEngine On
DirectoryIndex index.php


RewriteCond %{HTTP_HOST} ^www.domena.pl
RewriteRule ^(.*)$ http://domena.pl/$1 [R=301,L]

RewriteRule ^images/token\.jpg$ images/token.php?mod_rewrite=true [QSA,L]
RewriteRule ^admin/(.*).html$ admin/index.php?page=$1 [QSA,L]

RewriteRule ^(.*)(\.js|\.css|\.jpg|\.png|\.gif|\.ico|\.txt|\.php|\.log|\.swf)$ $1$2 [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

RewriteRule .*.(cache|tpl|log)$ - [F,NC]


i dostaję błąd którego nie wiem jak naprawić:

Cytat
[Wed Jan 23 23:23:10 2013] [error] [client 91.222.27.120] 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.


Zna ktoś może sposób na naprawę? Dodam, że strona leży na nazwa.pl wink.gif

Ten post edytował sebekzosw 24.01.2013, 09:44:36
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wywal tę linijkę:
RewriteRule ^(.*)(\.js|\.css|\.jpg|\.png|\.gif|\.ico|\.txt|\.php|\.log|\.swf)$ $1$2 [QSA,L]
i powiedz czy nadal masz zapętlenie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sebekzosw
post
Post #3





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


tak, i dalej błąd 500.

po usunięciu:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

problemu nie ma, ale to akurat potrzebne jest smile.gif
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) A istnieje plik index.php? smile.gif
2) nie: ^(.*)$ a: (.*)
3) jesli to nie pomoze, to wywal jeszcze QSA dla testu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sebekzosw
post
Post #5





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


1. Oczywiście, że istnieje ;-)

2.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?url=$1 [QSA,L]

dalej błąd 500

3. Wywalenie QSA też nic nie daje
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) A może to spowodu przekierowań w pliku php? Masz tam jakies?

2) Jeśli to nie to, to wywal cały htaccess, a potem dodawaj każdą opcję pokolei. Będziesz wiedział ktora powoduje przekierowania


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sebekzosw
post
Post #7





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


w pliku nie mam przekierowań. Robiłem tak jak zasugerowałeś i w ten sposób ustaliłem, że problem jest właśnie z tą linijką. A co ciekawe. Na nazwa.pl jest inna strona, która ma ten sam htaccess (musiałem dopisać kilka reguł do obrazków tylko) i tam działa bez problemów...
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Z którą linijką? Omawialiśmy kilka...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sebekzosw
post
Post #9





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

albo

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?url=$1 [QSA,L]

w skrypcie występowało przekierowanie, ale go skomentowałem:

  1. if(isset($_SERVER['REQUEST_URI']) && preg_match('/(index.php|index.html)/', $_SERVER['REQUEST_URI']))
  2. {
  3. header('HTTP/1.1 301 Moved Permanently');
  4. header('Location: .');
  5. die();
  6. }


jednak i tak nie ma znaczenia


napisałem taką regułę

RewriteRule ^(.*)$ test.php?url=$1 [QSA,L]

i też zwraca błąd 500, a powinno 404... i ten sam błąd w dzienniku błędów

Problem rozwiązany. Nie chodziło o błędną regułę a o:

Kod
RewriteBase /


;/ takie proste rozwiązanie a trzeba było poszukać i pokombinować...

Ten post edytował sebekzosw 24.01.2013, 11:22:44
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 15:00