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: 11 let
|
0