Autor Zpráva
tomyx
Profil
Dobry den,
prosim o radu, jak mam zmenit v .htaccess nasledujici kod:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^page=([^&]+)$
RewriteRule ^index\.php$ %1.html? [R=301,L]
RewriteRule ^([^/]+)\.html index.php?rw=1&page=$1 [L,QSA]


aby se url zmenila z:
http://neco.cz/index.php?page=test -> na -> http://neco.cz/clanek/test.html

(pozn. ted se zmeni na http://neco.cz/test.html).

A pak mam jeste jednu prosbu, jak by se kod v .htaccess zmenil, aby se url zmenila z:
http://neco.cz/argument.php?id=11&text=zkouska --> na --> http://neco.cz/argument/11/

Dekuju
SwimX
Profil
tomyx
možná se někd slituje a přepíše ti to, ale spíš by sis měl přečíst todle: http://interval.cz/clanky/mod-rewrite-pro-hezka-url-lomitka-adresare-promenne/
a napsat si sám.
tomyx
Profil
to jsem si vsechno cetl, ale jediny zpusob zapisu ktery mi funguje je ten co jsem psal - at tam cokoliv dam jineho, tak to nefunguje :(
Kajman_
Profil *
Možná

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^page=([^&]+)$
RewriteRule ^index\.php$ clanek/%1.html? [R=301,L]
RewriteRule ^clanek/([^/]+)\.html index.php?rw=1&page=$1 [L,QSA]
RewriteCond %{QUERY_STRING} ^id=([^&]+)&text=([^&]+)$
RewriteRule ^argument\.php$ argument/%1/? [R=301,L]
RewriteRule ^argument/([^/]+)/ argument.php?rw=1&id=$1 [L,QSA]


Ztratí se však page=test. Ale tahle přesměrování z dynamických adres na statické je lepší dělat v php.
tomyx
Profil
Dekuju, funguje to. Jednine v cem je problem, ze se nepripoji veskere externi soubory, at uz obrazky, styly. Lze to jeste udelat nejak jinak, abych nemusel predelavat adresaci vsech obrazku, stylu, includovanch souboru?
Kajman_
Profil *
Pokud nechcete odkazovat správně s novou virtuální adresářovou strukturou, tak je lepší na rewrite zapomenout. Existuje tag base, ale pochybuji, že to nepřinese žádné problémy.
tomyx
Profil
Možná
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^page=([^&]+)$
RewriteRule ^index\.php$ clanek/%1.html? [R=301,L]
RewriteRule ^clanek/([^/]+)\.html index.php?rw=1&page=$1 [L,QSA]
RewriteCond %{QUERY_STRING} ^id=([^&]+)&text=([^&]+)$
RewriteRule ^argument\.php$ argument/%1/? [R=301,L]
RewriteRule ^argument/([^/]+)/ argument.php?rw=1&id=$1 [L,QSA]„[i]Ztratí se však page=test. Ale tahle přesměrování z dynamických adres na statické je lepší dělat v php.

[/i]“

Co se týče přesměrování z dynamických adres na statické v php, tak to by šlo jakým způsobem? Děkuji
Kajman_
Profil *
Podle $_SERVER["REQUEST_URI"] se rozhodnout, zda chcete header("Location:...");
tomyx
Profil
Takze na zacatku stranky si zjisti url , rep. vse co je za nazvem domeny a pak presmerovat na jinou stranku pres header("Location:...") ?
Tedy napr. url
www.neco.cz/argument.php?id=11&text=zkouska

tak ve skriptu argument.php dat na zacatek podminku na zjisteni url a kdyz je
$_SERVER["REQUEST_URI"] = /argument.php
tak presmerovat pres header("Location:...) na napr. http://neco.cz/argument/11/ ? Ale to nevim jak, resp. co dat do parametru v header?
Kajman_
Profil *
http://cz2.php.net/header
tomyx
Profil
slo by to jeste trochu konkretizovat?
Kajman_
Profil *
slo by to jeste trochu konkretizovat?
Klikněte na ten odkaz, pak zjistíte, že tam jsou konkrétní příklady s paremetry určenými pro location v header.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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