Autor Zpráva
LastHunter
Profil *
Dobrý den,
snažím se zprovoznit mod_rewrite pro hezčí adresy.
Nejdříve to chci zprovoznit na primitivním příkladu, pro ostré nasazení už mám připraven složitější skript.

Táákže můj .htaccess v localhost/pretty_url/ vypadá:

RewriteEngine on
RewriteRule ^(.)$ /pretty_url/index.php?id=$1


Pak když zadám localhost/pretty_url/A, tak můj PHP skript, který má za úkol jen vypsat to "idčko", vypíše "A". Vtip je v tom, že to (.) nahrazuje jeden znak, takže když bych napsal AA, už by to nejelo...
Pro libovolný počet znaků by mělo fungovat (.*), Jenomže to nejede!?

RewriteEngine on
RewriteRule ^(.*)$ /pretty_url/index.php?id=$1


Pak to teda vypadá takhle... Zadám localhost/pretty_url/hahaha a vypíše se mi:

index.php

Takže se jako $1 předává "index.php". Co s tím? :o)

V případě, že .htaccess je v tomto tvaru:

RewriteEngine on
RewriteRule ^(.*)$ /pretty_url/index.php?id=blabla


tak to funguje. Ať zadám localhost/pretty_url/cokoli, vždy se vypíše blabla. Snad vám to v řešení problému pomůže. Já jsem v koncích :(
Peca
Profil
Nechápu, kde se vzal ten index.php, když v adrese vůbec nebyl. Zkus za to pravidlo dát [L]
LastHunter
Profil *
ee, [L] nic nevyřešil.
index.php - taky netuším.

Další "indicie":
Když dám pravidlo ve tvaru RewriteRule ^([a-z]*)$ index.php?id=$1, tak mi to taky žere, co napíšu - neomezenej počet malých písmen. Prostě jen neběží (.*), zdá se, že vše ostatní ano :/
Toto téma je uzamčeno. Odpověď nelze zaslat.

0