Autor Zpráva
PeterCooon
Profil
Zdravím.

Dělám redesign statického webu na wordpress kde jsou v současnosti tyto tvary adres:

http://www.adresa.eu/?id=cenik

Potřeboval bych, aby v takovém to tvaru s ?id= byli i na webu na wordpressu, ale nedaří se mi to zprovoznit. Můžete mi poradit, aby to správně fungovalo prosím? Tohle zkouším v header.php

<?php
$curdir = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$check = strpos($curdir, "/?id=");
if($check){
$newdir = str_replace(".htm","", $curdir);
$newdir = str_replace("/?id=","", $newdir);
Header( "HTTP/1.1 301 Moved Permanently" ); 
Header("Location: ".$newdir);
die();
} ?>
Taps
Profil
Ve wp sekce nastaveni je mozne nastavit tvar trvalych adres..wp tusim vyuziva promenou page
PeterCooon
Profil
Taps:
Toho page jsem si tam všiml, ale nešlo mi to přenastavit na id..
Taps
Profil
A nemuzes pouzit tu promennou page?
PeterCooon
Profil
Taps:
Nemohl když chci zachovat trvalý odkaz..jinak bych to tak neřešil :-D
Taps
Profil
A k cemu konkretne potrebujes mit v adrese id?
PeterCooon
Profil
Taps:
Protože v takovém to formátu jsou všechny odkazy na webu a nechci aby se na novém webu ztratily..
Taps
Profil
PeterCooon:
Tento problém se dá řešit na úrovni .htaccessu a přesměrování, viz např. tomaserlich.cz/301-presmerovani-domeny
PeterCooon
Profil
Taps:
Zkouším různé možnosti a zatím jsem se dostal nejdále s tímto:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (.*) http://domena.cz/?id=$1 [l]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
</IfModule>

# END WordPress
                   

Když stránku pak načtu, objeví se adresa ve správném tvaru, ale nejde načíst. Píše se chyba přesměrování.
Taps
Profil
Ta logika je trosku jina, pri zadani id do url bude automaticka stranka presmerovana na page
PeterCooon
Profil
Taps:
A dá se to tedy něják upravit, yby to dělalo co potřebuju?
Keeehi
Profil
Myslím že nějak takto
RewriteCond %{QUERY_STRING}  ^id=(.*)$
RewriteRule (.*) http://domena.cz/$1?page=%1 [L,R=301]

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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