Autor Zpráva
Libor D.
Profil *
Dobry den,
chtel by jsem se zeptat na jednu celkem dulezitou otazku. Pokud se adresy internetovych stranek predelaji komplet z dynamickeho na staticky charakter musi se jeste neco nekde osetrit v tom .htaccessu (treba nejake presmerovani....nebo neco podobneho) proto, aby tyto stranky zustaly ve vyhledavacich alespon tam, kde jsou ted? A nebude vadit, ze v indexu vyhledavace bude ted kazda stranka se 2mi adresami? (teda alespon nejaky cas, nez se ty stare vyradi) Nema to neco nahodou v tehle forme spolecneho s duplicitnim obsahem. Nerad bych to nekde zvrtal :-]

dekuji
vlado123
Profil
Pri zmene adresy je potrebné presmerovať staré adresy na nové a to v súbore .htaccess pomocou direktívy:

Redirect 301 stara-adresa.html http://www.example.com/nova-adresa.html

301 - znamená že sa obsah presmeroval z tej starej adresy navždy, takto je potrebné presmerovať každú starú adresu na novú. Pri presmerovaní adries je potrebné pri novej adrese uvádzať aj doménu.
tomas657
Profil *
Súhlasím, takto je to najlepšie pre vyhľadávače... tak to robím aj ja na svojom webe www.navstevnost.czweb.org (hodí vás to úplne inde, a to je vlastne presmerovanie cez 301-ku
Libor D.
Profil *
No nejak mi to ted neni az tak jasne.
Mam v tom htaccessu treba toto:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ http://www.mujnazev.cz?clanek=$1 [L,QSA]

a v kodu na to odkazuji takto: <a href="portal/">o portálu</a>

toto vsechno jeste funguje OK....

ale treba na googlu mam jeste zaindexovane stare adresy....tzn. ze aktualni adresa je jiz ted
http://www.mujnazev.cz/portal/ ale funguje i stara: http://www.mujnazev.cz/index.php?clanek=portal
takze o je zrejme duplicitni obsah...

nevim jak presne ted s tim [R=301]...jestli jako mam udelat nejake nove RewriteRule nebo to [R=301] zakomponovat
uz do tech Rule co tam mam ted?

proste potrebuji, aby se mi po zadani http://www.mujnazev.cz/index.php?clanek=portal presmerovalo na
http://www.mujnazev.cz/portal/

diky
Kajman_
Profil *
http://www.jakpsatweb.cz/server/mod_rewrite/mod-rewrite-priklady.html# dyntostat
Libor D.
Profil *
No tak podle toho mi to nejak funguje, ale mam problem s CSS styly, ktere mi nejak zahadne vypadavaji...

Pokud nahraju .htaccess na server a pohybuji se po nem pouze pomoci navigace tak CSS jde, ale pokud na nejake strance dam refresh, tak vsechny styly CSS vypadnou jako by tam vubec nebyly.....a pak uz je tam vubec nedostanu, takze musim .htaccess odstranit.....a tak porad dokola

zkousel jsem:
<link rel="Stylesheet" type="text/css" href="css.css" />
nebo:
<link rel="Stylesheet" type="text/css" href="/css.css" />
dokonce i:
<link rel="Stylesheet" type="text/css" href="http://mujweb.cz/css.css" />

ale porad mi to nejde.

Nekde jsem slysel nebo cetl, ze s tim CSS byva problem, kdyz se pouziva ten mod_rewrite. Vite nekdo, jak tam ty CSS bezpecne dostanu i po refreshi? dik
Kajman_
Profil *
Ta podmínka
RewriteCond %{REQUEST_FILENAME} !-f
by měla css nechat na pokoji.

Zkuste požádat o css, co vám server dá.
Libor D.
Profil *
takhle CSS funguje i po refresh:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ ?clanek=$1 [L,QSA]

a takto ne:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} ^clanek=([^&]+)$
RewriteRule ^index.php$ %1/? [R=301,L]
RewriteRule ^([^/]+)/?$ ?clanek=$1 [L,QSA]

pritom je to stejne....jen je v 2. pripade osetreno presmerovani 301...tezko hledat duvod...
Kajman_
Profil *
...tezko hledat duvod...
Protože dáváte rewritecond podmínky ke špatnému rewriterule.

RewriteCond %{QUERY_STRING} ^clanek=([^&]+)$
RewriteRule ^index.php$ %1/? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ ?rw=1&clanek=$1 [L,QSA]
Libor D.
Profil *
to Kajman

dekuji moc, uz to funguje jak ma

Vaše odpověď

Mohlo by se hodit

Zajímavé čtení:
Poptávání výměny odkazů je na této diskusi nežádoucí.

Prosím používejte diakritiku a interpunkci.

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

0