Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [htaccess] - nie dziala przekierowanie
Forum PHP.pl > Forum > Serwery WWW > Apache
terabit
Witam

mam taki kod:
  1. RewriteEngine on
  2. RewriteRule ^strona/([^/.]+)/?$ index.php?strona=$1 [L]
  3. RewriteRule ^/([^/.]+)/?$ index.php?strona=$1 [L]


problem w tym że nie działa i nie mam pojęcia dlaczego
może coś jest z nim nie tak?

z gory dzieki za pomoc winksmiley.jpg
skowron-line
Powinno być chyba [L,R] ale głoowy nie dam sobie obciąć.
terabit
niestety nic nie pomoglo

  1. RewriteEngine on
  2. RewriteRule ^/([^/.]+)/?$ profil.php?l=$1 [L,R]
krzysztof_kf
Do czego chcesz przekierowanie do folderu do podstrony ?
terabit
dokladnie to z
strona.com/profil.php?l=wartosc
na
strona.com/wartosc
jaslanin
Kod
RewriteEngine On
RewriteCond %{QUERY_STRING} ^l=(.+)
RewriteRule ^profil.php(.*)$ %1/? [L,R=301]
terabit
Cytat(jaslanin @ 26.05.2010, 19:40:15 ) *
Kod
RewriteCond %{QUERY_STRING} ^l=(.+)
RewriteRule ^profil.php(.*)$ %1/? [L,R=301]


nie działa :/

jak wpisze normalnie z profil.php?l=cossss to dziala a jak samo cossss to:
Not Found
The requested URL /cossss was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
mayu11
Kod
Options FollowSymLinks
RewriteEngine On
RewriteRule ^([^-]+)$ profil.php?l=$1 [L]
terabit
Cytat(mayu11 @ 26.05.2010, 22:27:26 ) *
Kod
Options FollowSymLinks
RewriteEngine On
RewriteRule ^([^-]+)$ profil.php?l=$1 [L]


teraz wszedzie wyswietla ze taki profil nie istnieje, nawet na index.php
jaslanin
1. Ustalmy najpierw co chcesz osiągnąć, ja zrozumiałem że dokładnie to:

Cytat(terabit @ 26.05.2010, 19:14:39 ) *
dokladnie to z
strona.com/profil.php?l=wartosc
na
strona.com/wartosc


2. Testujesz swój skrypt rzeczywiście w taki sposób: domena.pl/profil.php?l=wartosc, a nie np. domena.pl/podfolder/profil.php?l=wartosc


Cytat(terabit @ 26.05.2010, 19:56:37 ) *
nie działa :/

jak wpisze normalnie z profil.php?l=cossss to dziala a jak samo cossss to:
Not Found
The requested URL /cossss was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


3. W moim przykładzie ma to działać tak:

strona.com/profil.php?l=wartosc
przekierowuje na:
strona.com/wartosc

więc siłą rzeczy plik/folder strona.com/wartosc musi istnieć, chyba że w pliku htaccess masz jakieś inne reguły które coś zmieniają.
terabit
Cytat(jaslanin @ 27.05.2010, 11:44:37 ) *
2. Testujesz swój skrypt rzeczywiście w taki sposób: domena.pl/profil.php?l=wartosc, a nie np. domena.pl/podfolder/profil.php?l=wartosc

dokładnie tak jak powinno

Cytat(jaslanin @ 27.05.2010, 11:44:37 ) *
3. W moim przykładzie ma to działać tak:

strona.com/profil.php?l=wartosc
przekierowuje na:
strona.com/wartosc

więc siłą rzeczy plik/folder strona.com/wartosc musi istnieć, chyba że w pliku htaccess masz jakieś inne reguły które coś zmieniają.


możliwe że źle to wyjaśniłem

normalnie strona działa tak -
strona.com/profil.php?l=wartosc

ale chce skrócić adres by wyglądał tak:
strona.com/wartosc

z tym że nie ma zadnego folderu o nazwie "wartosc"...

poprostu gdy ktos wpisze strona.com/wartosc skrypt ma działać tak gdyby było wpisane strona.com/profil.php?l=wartosc
jaslanin
Spróbuj tak:

Kod
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* profil.php?l=$0 [PT,L]
terabit
Cytat(jaslanin @ 27.05.2010, 12:57:31 ) *
Spróbuj tak:

Kod
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* profil.php?l=$0 [PT,L]


wielkie dzięki, działa !
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.