Autor Zpráva
pixi
Profil *
Zdravím všechny v této diskusi.
Potřeboval bych se zeptat ohledně Wordpressu.
Nastavil jsem si v něm Trvalé odkazy ve vlastním tvaru:
 /%post_id% 


To mi vytvořilo .htacces soubor s obsahem:
 # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index/.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
 

a nyní mi to tvoří pěkné adresy např.: www.neco.cz/mobil/nokyje (ale bez koncovky treba .php nebo .html).

Teďka řeším jak přesměrovat jednu stránku na druhou, ale předpis mi nefunguje:
 RewriteRule stara/.php http://www.example.cz/nova.html [R=301]  


Problém bude asi v tom, že nevím jak zapsat pravidlo, když stránky nemají v prohlížeči .php ani .html.
Potřeboval bych neco jako:
 RewriteRule stara/ http://www.example.cz/nova [R=301]  


Nikde to nemohu najít.
Nevíte prosím vás někdo jak by se to dalo vyřešit? Děkuji
Davex
Profil
Pravidlo RewriteRule stara/ http://www.example.cz/nova [R=301] je skoro správně. Jen se musí dát před ostatní pravidla a upravit takto:
RewriteRule ^stara/$ http://www.example.cz/nova [R=301,L]
pixi
Profil *
Davex:
Děkuji za odpověď, ale stále mi to nejde. K přesměrování nedojde. Jen mě napadlo: jak může přesměrovat ze stránky "stará", když k překladu jejího jména dojde až v následujícím kódu?
Tak jsem to přesměrování dal až za překládací kód, ale také to nejde.
Davex
Profil
pixi:
Nepřesměruje se konkrétně z adresy www.example.com/stara/ na adresu www.example.com/nova nebo obecně z jakékoliv staré adresu na novou?

jak může přesměrovat ze stránky "stará", když k překladu jejího jména dojde až v následujícím kódu?
To je ta správná otázka. Jak má webserver poznat, kterou adresu má přesměrovat a jak má vypadat nová? Pokud se nové adresy podstatně liší od starých a nemají nic společného, tak to pomocí mod_rewrite přesměrovat nepůjde. Přesměrování musí nějak zařídit aplikace.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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