Autor Zpráva
vratik
Profil
Chci v htaccess nastavit podstrčení cesty www.mojewebovka.cz/en/index.php při zadání adresy www.mojewebovka.com. Jak to v htaccess realizovat?

Nějak takto?
RewriteCond %{HTTP_HOST} ^mojewebovka.com [NC]
RewriteRule ^(.*) http:// www.mojewebovka.cz/en/index.php [R=301,QSA,L]
Davex
Profil
Pravidlo s příznakem [R=301] a absolutní adresou přesměrovává. Pokud se má podstrčit, tak takto:
RewriteRule ^$ /en/index.php [L]
vratik
Profil
Takže

RewriteCond %{HTTP_HOST} ^mojewebovka.com
RewriteRule ^$ /en/index.php [L]
?
Bohužel mi to stále nefunguje :(
Davex
Profil
Nemělo by tam chybět zapnutí mod_rewrite a podle [#1] to mělo být podstrčení u jména www.mojewebovka.com:
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.mojewebovka\.com$
RewriteRule ^$ /en/index.php [L]
vratik
Profil
Nebude problém v tom, že www.mojewebovka.com mám jako alias pro www.mojewebovka.cz? Ostatní přesměrování v adresářích apod. mi problém nedělá.

Navíc, zde na http://www.jakpsatweb.cz/server/mod-rewrite.html se uvádí v RewriteCond .cz a ne \.cz ...??
Davex
Profil
vratik:
Nebude problém v tom, že www.mojewebovka.com mám jako alias
Kdyby nebylo jako alias, tak by podstrčení nefungovalo.

Ostatní přesměrování v adresářích apod. mi problém nedělá.
Nejdřív si prosím ujasni, zda chceš podstrkávat nebo přesměrovat z www.mojewebovka.com na www.mojewebovka.cz a která všechna URL.

Pokud se má přesměrovat pouze URL http://www.mojewebovka.com/ nebo http://mojewebovka.com/ (bez adresářů nebo souborů), tak to pravidlo bude vypadat takto:
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?mojewebovka\.com$ [NC]
RewriteRule ^$ http://www.mojewebovka.cz/en/index.php [R=301,NE,L]

Pokud to stále nefunguje, tak to může být způsobeno keší prohlížeče, ve které je zapamatován nějaký předchozí stav. Zkus klávesu F5 nebo Ctrl+F5, vymazat keš prohlížeče nebo jiný prohlížeč.

Navíc, zde na http://www.jakpsatweb.cz/server/mod-rewrite.html se uvádí v RewriteCond .cz a ne \.cz …?
To je jen drobná chyba, se kterou to bude také fungovat.
vratik
Profil
Došel jsem jen k jednomu závěru. U podmínka s verzí .com (RewriteCond %{HTTP_HOST} ^(www\.)?mojewebovka\.com$ [NC] a pod.), tedy na jakékoli manipulace, ať už přesměrování či podstrčení u domény .com, není žádná odezva. Jen se mi url www.mojewebovka.com přepíše na www.mojewebovka.cz. Pokud je jakékoli podstrčení a přesměrování aplikováno na www.mojewebovka.cz, vše šlape. Uf. Bohužel rozumím jen základům. Přesto se mi ostatní úkony bez problémů realizovat podařilo, s tímto stále bojuji :) Chci moc poděkovat za trpělivost a snahu pomoci mi!!
Davex
Profil
vratik:
ať už přesměrování či podstrčení u domény .com, není žádná odezva. Jen se mi url www.mojewebovka.com přepíše na www.mojewebovka.cz.
Pokud se jméno změní z .com na .cz, tak přesměrování funguje. Co znamená, že není žádná odezva? Co by se vlastně mělo všechno dít a neděje? Prosím o podrobnější popis a nejlépe praktický příklad.
vratik
Profil
Podmínka RewriteCond %{HTTP_HOST} ^www\.mojewebovka\.com$ mi "nefunguje", dojde jen k přesměrování na www.mojewebovka.cz (dáno aliasem). Pokud nahradím mojewebovka\.com mojewebovka\.cz, tak podmínka bez problémů funguje.
vratik
Profil
Pokud bych měl poslat podrobnější popis, zdroják a případně přístup pro editaci, v případě ochoty pomoci, prosím o kontakt, díky.
Davex
Profil
vratik:
Podmínka RewriteCond %{HTTP_HOST} ^www\.mojewebovka\.com$ mi "nefunguje", dojde jen k přesměrování na www.mojewebovka.cz (dáno aliasem).
Stále mi není jasné, jak se to nefungování projevuje a co by se mělo dít při fungování. V žádném příspěvku nevidím upřesnění, co by ta pravidla vlastně měla udělat.

Teď ([#6]) by se mělo URL přesměrovat takto:
http://www.mojewebovka.com/  →  http://www.mojewebovka.cz/en/index.php
http://mojewebovka.com/  →  http://www.mojewebovka.cz/en/index.php

Ostatní požadovaná URL na mojewebovka.com zůstanou zachována. V příspěvku [#4] jsou pravidla pro případ, že by se náhodou mělo místo přesměrování jen podstrkávat.

Pokud jsou v souboru .htaccess ještě nějaká další pravidla, tak může záležet na jejich vzájemném pořadí. Pokud jsou v podadresářích další soubory .htaccess s pravidly mod_rewrite, tak se může stát, že nebudou pravidla z nadřazeného adresáře nikdy provedena.
vratik
Profil
Omlouvám se za své nepřesné vyjadřování, jsem si toho vědom. Zkusím raději vše uvést polopatě a v příkladech.

Mám doménu www.mojewebovka.cz napasovanou na hosting, .htaccess soubor vkládám do rootu. Doména www.mojewebovka.com je aliasem.

Chci, aby se zadaná url mojewebovka.com s www či bez na počátku přesměrovala na doménu s .cz do adresáře /en/index.php, tedy přesně, jak je v #11 uvedeno:
http://www.mojewebovka.comhttp://www.mojewebovka.cz/en/index.php
http://mojewebovka.comhttp://www.mojewebovka.cz/en/index.php

Když použiji #6, tak se stane toto:
www.mojewebovka.com (zadaná url) → www.mojewebovka.cz (výsledná url)

Díky.
Davex
Profil
vratik:
Když použiji #6, tak se stane toto:
www.mojewebovka.com (zadaná url) → www.mojewebovka.cz (výsledná url)
Vypadá to, že na hostingu není www.mojewebovka.com plnohodnotný alias pro www.mojewebovka.cz, ale jen nastavené přesměrování. Mod_rewrite pravidla ze souboru .htaccess se pro tuto doménu vůbec neaplikují. Třeba to půjde změnit v administraci hostingu, aby se zobrazil obsah ze stejného prostoru jako pro doménové jméno www.mojewebovka.cz.
vratik
Profil
Díky, zkusím to vyřešít s provozovatelem. Již jsem se jej předběžně ptal, zda nemůže být problém v nastavení hostingu a bylo mi řečeno, že by problém být neměl. Zkusím se na ně obrátit s konkrétním problémem a požadavkem na řešení.

Děkuji ještě jednou za čas a ochotu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0