Autor Zpráva
kubijo
Profil *
Dobrý den vespolek.

Již drahnou dobu se pokouším o ,,zhesčení'' url na svém projektu.

Na adresy s jedním parametrem (?page) to funguje bez problémů, leč jak se pokouším o přepsání adresy se dvěma parametry, tak mi není přáno ůspěchu.

adresy s 2 parametry vypadají takto:
.../Fantasymusic/www/index.php?page=uvod&profil=iveta
.../Fantasymusic/www/index.php?page=fotogalerie&id=52
.../Fantasymusic/www/index.php?page=oskupine-repertoar&styl=lidovky#obsah

a chtel bych docílit této podoby:
.../Fantasymusic/www/uvod/profil_iveta
.../Fantasymusic/www/fotogalerie/id_52
.../Fantasymusic/www/oskupine-repertoar/styl_lidovky


zde je můj .htaccess soubor:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /Fantasymusic/www/
RewriteRule (gif|bmp|png|jpg|css|js) - [L]

RewriteCond %{QUERY_STRING} ^page=(A-z0-9)&+profil=(A-z0-9)$
RewriteRule ^index\.php$ %1/profil\-%2? [R=301,L]
RewriteRule ^(A-z0-9)/profil\-(A-z0-9) index.php?rw=1&page=$1&profil=$3 [L,QSA]

RewriteCond %{QUERY_STRING} ^page=([^&]+)$
RewriteRule ^index\.php$ %1? [R=301,L]
RewriteRule ^([^/]+) index.php?rw=1&page=$1 [L,QSA]



Děkuji za pomoc.
kubijo
Profil *
to vrchni pravidlo je samozrejme jen pokus na pripadu, kdy druhy parametr bude profil, ale chtel bych spise univerzalni pravidlo.
neco jako:

RewriteCond %{QUERY_STRING} ^page=(A-z0-9)&+(A-z0-9)=(A-z0-9)$
RewriteRule ^index\.php$ %1/%2_%3? [R=301,L]
RewriteRule ^(A-z0-9)/(A-z0-9)_(A-z0-9) index.php?rw=1&page=$1&$2=$3 [L,QSA]
kubijo
Profil *
nikdo nepomůže? alespoň nasměrování na stránku kde je to třeba turecky(s tim uz si poradim) vysvětleno?
Kajman_
Profil *
Možná hledáte něco jako
RewriteCond %{QUERY_STRING} ^page=([^&]+)&([^&=]+)=([^&]*)$
RewriteRule ^index\.php$ %1/%2_%3? [R=301,L,NE]
RewriteRule ^([^/]+)/([^/_]+)_([^/_]*) index.php?rw=1&page=$1&$2=$3 [L,QSA]


Poklikejte si na ty odkazy, v manuálu je kupodivu vše vysvětleno - dokonce anglicky.
kubijo
Profil *
ale jistě, pravidla, jak ty se ty funkce používají, znám a principu rozumím, leč po odpoledni stráveném pokusy o zprovoznení výsledek stále nebyl na světě, tak sem skusil, jestli někdo u sebe nemá již ověřený kód, se kterým mu to jde.
kubijo
Profil *
Tak sem to vyřešil nakonec ke své spokojenosti. vyžadovalo to samozřejmě ještě poupravení adres, aby byl odděkující znak unikátní (v tomto případě _ )

Zde je tedy moje řešení, toto téma se tedy může tímto uzavřít. Děkuji všem za spolupráci.

Options +FollowSymlinks

RewriteEngine On
RewriteBase /Fantasymusic/www/

################## Ignorovat nasledující ################
RewriteRule (gif|bmp|png|jpg|css|js|swf|\.mp3|CaptchaSecurityImages\.php) - [L]

####################### Uvodni stranka ##################
RewriteCond %{QUERY_STRING} ^page=([^&]+)&profil=([A-z]+)
RewriteRule ^index\.php$ %1_%2? [R=301,L,NE]
RewriteRule ^([^/]+)_([A-z]+)$ index.php?rw=1&page=$1&profil=$2 [L,QSA]

################## Fotogalerie a Aktuality ##############
RewriteCond %{QUERY_STRING} ^page=([^&]+)&id=([0-9]+)
RewriteRule ^index\.php$ %1_%2? [R=301,L,NE]
RewriteRule ^([^/]+)_([0-9]+)$ index.php?rw=1&page=$1&id=$2 [L,QSA]

######################### Repertoar #####################
RewriteCond %{QUERY_STRING} ^page=([^&]+)&styl=([A-z]+)
RewriteRule ^index\.php$ %1_%2? [R=301,L,NE]
RewriteRule ^([^/]+)_([A-z]+)$ index.php?rw=1&page=$1&styl=$2 [L,QSA]

#################### Ostatni (1 parametr) ###############
RewriteCond %{QUERY_STRING} ^page=([^&]+)$
RewriteRule ^index\.php$ %1? [R=301,L]
RewriteRule ^([^/]+) index.php?rw=1&page=$1 [L,QSA]

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0