![]() |
![]() ![]() |
![]() |
![]()
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ć. |
|
|
![]()
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.
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
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ć.
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
![]()
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?
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) strzali prowadza do wywolan powodowanych przez regułę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://img2.vpx.pl/up/20090331/petla_by_tosiek.png) Ten post edytował tosiek 31.03.2009, 16:14:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 20:01 |