| Autor | Zpráva | ||
|---|---|---|---|
| Paja222 Profil |
#1 · Zasláno: 26. 12. 2012, 21:10:12
Ahojte, potřeboval bych poradit ohledně htaccessu a mod rewrite
Mám stránky a přeházím na jiný systém adres - bez parametru dosavadní systém byl: http://domena.cz/?str=novinky/novinka-1 a pomocí htaccessu bych potřeboval, aby se adresa přesměrovala na http://domena.cz/novinky/novinka-1, samozřejmě na původní stránku poslat kvůli SEO error kód 301.
URL může obsahovat i další proměnné v parametru, které bych potřeboval uchovat (ale pokud to nepůjde, nevadí) název stránky bude vždy ve ?str=. Díky všem :-) |
||
| Davex Profil |
#2 · Zasláno: 26. 12. 2012, 21:49:15
Stačí si upravit jména parametrů v pravidlech z tématu Problém s duplicitou stránek.
|
||
| Paja222 Profil |
#3 · Zasláno: 26. 12. 2012, 22:57:26
Děkuji, našel jsem tam toto:
# přesměrování na URL bez parametru
RewriteCond %{QUERY_STRING} ^page=([^&]+)$
RewriteRule ^index\.php|$ %1? [R=301,L]Což funguje - ovšem s jedním problémem. ?str=novinky/novinka-1 to přehodí v pohodě na /novinky/novinka-1 ovšem, když je v adrese ?str=novinky/novinka-1&neco=necodalsiho, neprovede se již vůbec nic a nechá adresu takovou, jaká je. |
||
| Davex Profil |
#4 · Zasláno: 26. 12. 2012, 23:13:17
Paja222:
Ten druhý parametr se musí získat upraveným regulárním výrazem z proměnné %{QUERY_STRING} asi nějak podle pravidla v Úprava mod rewrite.
|
||
| Paja222 Profil |
Lituji, ale toto při přepisu:
RewriteCond %{QUERY_STRING} ^str=([^&]+)&(.*)$
RewriteRule index.php$ /%1?%2 [R=301,L]Nedělá již vůbec nic. Nemohl byste mi poradit, jak tyto 2 pravidla zkombinovat, aby to šlo? první parametr je vždy ?str= a druhý (který je jen občas) je &cln= Díky. EDIT: Tak již jsem na to asi přišel: RewriteCond %{QUERY_STRING} ^str=([^&]+)(&v=(.*))?$
RewriteRule ^index\.php|$ %1/%3? [R=301,L]A zdá se, že to funguje. Poprosil bych tedy někoho o kontrolu, díky. |
||
|
Časová prodleva: 14 let
|
|||
0