![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 0 Dołączył: 7.07.2008 Ostrzeżenie: (0%)
|
Witam. Mam problem z przekierowaniem np.:
*adres.pl/info.htm oraz *adres.pl/info na adres.pl/info/ Mam regułę która przepisuje adres: Kod RewriteRule ^([a-z0-9_]*)/?$ ./$1\.htm [L,NC] Ale nie wiem jak przekierować z tamtych na ten przepisywany ze slashem na końcu. Przy takim się zapętla: Kod RewriteCond %{REQUEST_URI} ^/[^?]+\.htm(\?.*)?$ RewriteRule ^(.*)$ http://adres.pl/info/ [R,L,NC] przy podobnych do tego też się zapętla lub nie działa: Kod RewriteRule ^([a-z0-9_]*).htm$ http://adres.pl.pl/$1/[R,L,NC] to też: Kod RewriteRule ^([a-z0-9_]*)\.htm$ http://adres.pl.pl/$1/ [R,L,NC] Obojętnie czy dam przekierowanie przed czy po przepisaniu i tak nie działa. Ten post edytował tosiek 29.03.2009, 11:01:17 -------------------- |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 27.08.2007 Skąd: Londyn Ostrzeżenie: (0%)
|
spróbuj tak:
Kod RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://www.twoja-domena.pl$1/ [L,R=301] |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 0 Dołączył: 7.07.2008 Ostrzeżenie: (0%)
|
Niestety adres wszystkie wyglądają tak:
adres.pl/info.htm/ -------------------- |
|
|
|
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Kod RewriteBase / RewriteRule ([a-z]+)\.htm /$1/ [L] RewriteCond %{REQUEST_URI} (.*?)/$ RewriteRule ([a-z]+)$ /$1/ [L] Pisane z palca, może nie działać. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 0 Dołączył: 7.07.2008 Ostrzeżenie: (0%)
|
Niestety te wyżej nawet po przeróbkach się zapętlają albo nie działają.
Na razie mam takie
I działa przepisywanie ze slashem i bez na końcu, jesli nie ma slasha na końcu przekierowuje na ze slashem / np. http://integratus.tosiek.pl/informacje na http://integratus.tosiek.pl/informacje/ Ale już plików z rozszerzeniem .htm nie chce. nie działa ani (.htm) ani [.htm] ani \.htm sam już nie mam pomysłu może w złej regule tego używam, ale nawet próbouję na sztywno dla jednego pliku to i tak nie działa. -------------------- |
|
|
|
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Nie przekierowywuj na ścieżkę bezwzględną (z http), bo to nie zadziała i na pewno będzie się zapętlać. Musi być ścieżka relatywna do serwera.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 0 Dołączył: 7.07.2008 Ostrzeżenie: (0%)
|
w tym problem że jesli nie przekieruję na bezwzględny adres z http to nie zadziała
-------------------- |
|
|
|
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Ma być względem "/". Żaden URL nie ma prawa się pojawić.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 0 Dołączył: 7.07.2008 Ostrzeżenie: (0%)
|
sorki. podąłem w php powinno wyglądać tak:
Kod RewriteRule ^$ http://integratus.tosiek.pl/informacje/ [R=301,NC,L] RewriteRule ^([a-z_0-9]+)$ http://integratus.tosiek.pl/$1/ [R=301,NC,L] RewriteRule ^([a-z_0-9]+)/$ ./$1\.htm [L,NC] dziala po mzianie na: Kod RewriteRule ^$ ./informacje/ [R=301,NC,L] RewriteRule ^([a-z_0-9]+)$ ./$1/ [R=301,NC,L] RewriteRule ^([a-z_0-9]+)/$ ./$1\.htm [L,NC] ale przy dodnaiu np. na początek: RewriteRule ^.*\.htm$ ./informacje/ [R=301,NC,L] lub RewriteRule ^informacje\.htm$ ./informacje/ [R=301,NC,L] lub RewriteRule informacje\.htm$ ./informacje/ [R=301,NC,L] Nie działa -------------------- |
|
|
|
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Yyyy, ta kropka przed /, to zamierzone działanie?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 0 Dołączył: 7.07.2008 Ostrzeżenie: (0%)
|
Huuh chbya jak dla mnie odkryłem swoja amerykę, i chbya upewniłem się na 100% że zawsze by się zapętlało
bo po przepisaniu: RewriteRule ^([a-z_0-9]+)/$ $1\.htm [L,NC] cały czas ten adres np. /informacje/ korzysta z pliku informacje.htm więc chcąc przekierować plik informacje .htm: RewriteRule ^([a-z_0-9]+)\.htm$ /$1/ [R=301,NC,L] Będziemy przekierowywali zawsze /informacje/ na /informacje/ na /informacje/, przekierowanie działa jak trzeba ale robi się pętla bo /informacje/ to to samo co informacje.htm więc za pomocą tego przekierowujemy obydwa: RewriteRule ^([a-z_0-9]+)\.htm$ /$1/ [R=301,NC,L] Więc trzeba zaprząc do roboty php zeby zmienić adres w przeglądarce np taki skrypt:
ten akurat jest ustawiony na rozszerzenie .htm i zmienia adres z nazwa.htm na /nazwa/ W sumie za pomoca htaccess z regułami np.: RewriteCond %{request_uri} !(.*)/& bądź podobnymi warunkami chyba by działały ale ja nie znalazłem. Nie zadziała tak normalnie bo jedno wywoła zawsze drugie Obrazek
Ten post edytował tosiek 31.03.2009, 16:14:47 -------------------- |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 02:48 |