| Autor | Zpráva | ||
|---|---|---|---|
| shragicz Profil |
#1 · Zasláno: 3. 8. 2013, 10:08:05
Zdravím,
normálně dotazy do diskuse nevkládám a snažím se věcem přijít na kloub, ale s tímto se trápím už 3 dny a nevím co dělám špatně. Mám doménu 3 řádu, řekněme auto.domena.cz - po vstupu na tuto doménu potřebuju, aby se zavolal skript inzeraty.php?kategorie=automobily ale jen za podmínky, že adresa je volána bez dalších stránek tzn končí .cz nebo .cz/ Můj htaccess vypadá takto a funguje mi to: RewriteCond %{HTTP_HOST} ^auto.domena.cz$
RewriteCond %{REQUEST_URI} !^/(.+)
RewriteRule (.*) inzeraty.php?kategorie=automobily [L]Zajímavé ale je, že pokud místo teček použiju \. jak je ve všech návodech psáno, tak to nefunguje
Dále, pokud přijde požadavek na stránku auto.domena.cz/prodam nebo auto.domena.cz/koupim, tak mám tato pravidla: RewriteRule ^prodam/?$ http://%{HTTP_HOST}/inzeraty.php?kategorie=automobily&typ=n [L,QSA]
RewriteRule ^koupim/?$ http://%{HTTP_HOST}/inzeraty.php?kategorie=automobily&typ=p [L,QSA]Dále, pokud mi přijde požadavek na podkategorii tzn např auto.domena.cz/audi nebo auto.domena.cz/fiat, tak to mám ošetřeno takto: RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/inzerat/
RewriteRule ^([^/]+)/?$ inzeraty.php?kategorie=automobily&podkategorie=$1To mi taky funguje, uvádím to jen pro úplnou představu, nyní co mi nefunguje, je když chci aby se ty podkategorie ještě rozmělnily na prodám a koupím například: auto.domena.cz/prodam/audi nebo auto.domena.cz/koupim/fiat inzeraty.php?kategorie=automobily&podkategorie=audi&typ=n inzeraty.php?kategorie=automobily&podkategorie=fiat&typ=p kdy auto = kategorie=automobily audi + fiat = podkategorie=audi + podkategorie=fiat prodam = typ=n koupim = typ=p zároveň v tom potřebuju ošetřit, aby se to dělo jen v případě, kdy adresa neobsahuje /inzerat/ Dále potřebuju vyzobat ID inzerátu z URL a podstrčit správnou stránku. Nyní to dělám (špatně) a to tak, že při zavolání auto.domena.cz/inzerat/nazev-inzeratu podstrčím "nazev-inzeratu" namísto ID viz: RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^/inzerat/
RewriteRule ^inzerat/([^/]+)/?$ inzerat.php?id=$1nyní $1 obsahuje "nazev-inzeratu" ale potřebuji to udělat jinak: při volání auto.domena.cz/inzerat/12345678/nazev-inzeratu potřebuji podstrčit stránku inzerat.php?id=123456789&nazev=nazev-inzeratu Díky za jakoukoliv pomoc, googlil jsem hodně a už mi z toho jde hlava kolem M. |
||
| Davex Profil |
#2 · Zasláno: 3. 8. 2013, 10:47:11
Myslím, že to řešíš zbytečně složitě a nevhodným způsobem. Nebylo by lepší, aby routování dělal PHP skript a v .htaccess bylo jen jedno jednoduché pravidlo?
|
||
|
Časová prodleva: 12 let
|
|||
0