| Autor | Zpráva | ||
|---|---|---|---|
| mich Profil * |
Prosím o radu.
používám na stránkách www.bazeny-jimky-septiky.cz ne moc dobry styl sdres tj. http://www.bazeny-jimky-septiky.cz/index.php?stranka=bazeny a nechci to měnit protože jsme ve ve vyhledávačích docela vysoko a stránky mají ranky. Jde hlavně o to že například etarget na mě odkazuje takto http://www.bazeny-jimky-septiky.cz/index.php?stranka=bazeny&utm_source=etarget&utm_medium=cpc&utm_campaign=etarget a přitom se zobrazí ta sama stránka. Chtěl bych prosím poradit jak můžu asi pomocí rewrite vyřešit problém techto dlouhých duplicitních stránek. |
||
|
Časová prodleva: 5 dní
|
|||
| Davex Profil |
#2 · Zasláno: 23. 1. 2011, 14:56:41
Pomocí mod_rewrite by šlo přesměrovat na URL bez parametrů, ale pak by se ve statistikách návštěvnosti mohlo přijít o přesné měření kampaně. V tomto případě by asi bylo lepší použít
<link rel="canonical">.
|
||
| mich Profil * |
#3 · Zasláno: 23. 1. 2011, 19:27:52
Vůbec nepotřebuju měřit kampaň tu měří etarget. jak by to šlo aby to hlavně vyhledávače pochopili správně. teď mám tyto stranky v site:www.bazeny-jimky-septiky.cz a jsou duplicitní tak aby mě google neshodil.
|
||
| mich Profil * |
#4 · Zasláno: 23. 1. 2011, 19:28:38
jo a díky za odpověď Davexi
|
||
|
Časová prodleva: 3 dny
|
|||
| kubik Profil |
#5 · Zasláno: 26. 1. 2011, 22:01:09
Chápu to správně, že chceš z té dlouhé adresy, když na ni někdo klikne, odříznout vše, co je za stranka=bazeny, takže to ten uživatel v adresním řádku uvidí už zkrácené?
Pokud ano, tak mám takový matný pocit, že něco podobného se dá pomocí .htaccess a mod_rewrite dosáhnout za použití regulárních výrazů. Nikdy jsem to nezkoušel, ani si nejsem jistý, že to jde. Zkus googlit rewrite regular expression. A hlavně, jestli na to přijdeš, tak sem prosím hoď nějaký závěr. |
||
| glerak Profil * |
#6 · Zasláno: 26. 1. 2011, 22:35:59
jen na okraj, když už tady koukám - z mod_rewrite jeho regulárních výrazů jse tak zmatenej a nešťastnej, že teď jdu cestou parsování adresní řádky v PHP, a případné přesměrování také v PHP.
Tak v .htaccess mám
# Veškeré parametry URL předám index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
a v PHP něco jako
function URLParse() {
$url = $_SERVER['REQUEST_URI'];
Debug("Adresní řádek: ".$url);
if ($url == "/") {
$_GET[uvod] = true;
Debug("Úvodní stránka (žádné parametry): ".$url);
}
else if (preg_match('/^\/(zasahy|cviceni|udalosti)(-(\d{4}))?\.html$/', $url, $par_url)) {
$_GET[tema] = $par_url[1];
if ($par_url[3] != NULL) $_GET[rok] = $par_url[3];
else {
Debug("Neznámý formát v adresní řádce.");
HTTPRedirect('404', 'Parametry adresního řádku se nepodařilo rozklíčovat - odkaz neexistuje.');
}
}
a
Function HTTPRedirect($param, $text) {
switch ($param) {
case "404":
header("HTTP/1.1 404 Not Found");
header("Connection: close");
$_GET[error404] = true;
$_GET[error404_text] = $text;
Debug("Přesměrováno na chybu 404 - ($param -> $text)");
Sablona(); // kvůli vypsání errorové stránky, a taky debug informací před ukončením skriptu
Die();
case "301":
Debug("Redirecting 301 ($param -> $text)");
header("HTTP/1.1 301 Moved Permanently");
header("Location: $text");
header("Connection: close");
Die('<p style="color: red; font-weight: bold;">Nepodařilo se přesměrovat stránku (parametr fce je "'.$param.' -> '.$text.'"</p>');
Zdá se mi o jednodušší, přehlednější a hlavně variabilnější a snáze testovatelné. |
||
| Davex Profil |
#7 · Zasláno: 27. 1. 2011, 17:08:47
mich:
Nejdřív by bylo dobré, prozkoumat administraci reklamní kampaně, zda nejde vypnout odkazování na URL s parametry utm_*. Netuším, jak je na tom Etarget. Pokud to vypnout nejde, tak lze na serveru přesměrovat pomocí pravidel mod_rewrite z článku NaH1: Vyhněte se duplicitám při měření kampaní. Aby nebylo cílem přesměrování URL s mřížkou, tak stačí z pravidel odstranit #%1? a #%2.
|
||
|
Časová prodleva: 15 let
|
|||
0