Autor Zpráva
Xperia
Profil
Ahoj,

rád bych Vás požádal o pomoc s nastavením HTACCESS.

RewriteRule ^(.*)$ http://hlavniweb.cz/web/view/$1 [L]

Problém je, že netuším jak sestavit dotaz, aby www.neco.cz a zároveň neco.cz odkázal na http://hlavniweb.cz/web/view/neco.cz

Bude někdo ochoten pomoci? V nejhorším to přesuneme do Práce a zakázky
Davex
Profil
Xperia:
Moc nerozumím, co by to mělo dělat. Co si představuješ pod tím „překlenutím domény“?

Držme se prosím termínů podle Mod_rewrite.
Kubo2
Profil
Xperia:
Namiesto stávajúce pravidlo by som dal:
RewriteCond %{HTTP_HOST} ^w*\.(.+)$
RewriteRule ^(.*)$ http://hlavniweb.cz/web/view/%1/$1 [R=301]
Ale podobne ako Davex nerozumiem, o čo snažíš.
Xperia_
Profil *
Ahoj,
jako překlenutí myslím to, že

člověk který přijde na neco.cz bude ve skutečnosti na mojedomena.cz/web/view/neco.cz což je ve skutečnosti něco jako mojedomena.cz/index.php?url=web/view/neco.cz


Mám jednotný systém, pro tvorbu obsahu a výstup je vždy jednostránkový (na stránce je text a formulář) - a právě správný obsah generuji podle parametru - zde jako neco.cz (web - třída, view - metoda, neco.cz - parametr metody).

Snad mi rozumíte :)
Xperia
Profil
Tak po přečtení doporučeného odkazu od Davexe, je správná formula - podstrkávání.

Můj cíl je, aby se to netvářilo jako přesměrování ale podstrčení :-) hlavnidomena.cz/web/view/neco.cz není moc sympatická :)
Kajman
Profil
Všechny tři domény (hlavnidomena.cz, neco.cz, www.neco.cz) se adresují na stejný hosting i stejný adresářový prostor? Případně máte na hostingu s neco.cz zapnutý mod_proxy? Pokud nebude alespoň jedna podmínka splněná, tak podstrčení mezi doménami přes mod_rewrite neuděláte.
Xperia
Profil
Ano, hosting je na wedosu a je to jeden multihosting s aliasy.

V kořenu hostingu je složka domains, ve kterém jsou složky neco.cz, www.neco.cz a hlavnidomena.cz

htaccess od Wedosu v kořenovém adresáři
RewriteEngine On

# cele domeny (aliasy)
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]

# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

# aliasy - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomeny - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]
Kajman
Profil
Před třetí řádek bych zkusil ještě nové pravidlo, něco jako

RewriteCond %{REQUEST_URI} !^/?domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(neco\.cz)$
RewriteRule (.*) domains/mojedomena.cz/web/view/%2/$1 [DPI,L]
Xperia
Profil
Kajmane, smekám. Jste vážně skvělej :-) Funguje to dokonale.
Jsem ochoten Vám poslat malou, symbolickou sumu jako odměnu za to, co děláte :-) A děláte to dobře.
Kajman
Profil
Potěšte dobrým skutkem někoho potřebnějšího.
Xperia
Profil
Tak jsem to nezkontroloval celé :-X

Neco.cz zobrazí jen obsah homepage na hlavnidomena.cz, neprojde to dál na radič a metodu (web/view).
Nepromítne se to přímo jako hlavnidomena.cz/web/view/neco.cz

Doplnění: Resp. neco.cz/X/Y/Z se chová přesně jako hlavnidomena.cz/X/Y/Z

Je možné, že je to tím, že na hlavnidomena.cz/web/view už je jeden htaccess, který to transformuje na SEO URL?


Kajman:
Potěšte dobrým skutkem někoho potřebnějšího.
Částka 250,- Kč darována Ostrovskému Macíkovi (http://www.macik.websnadno.cz/), kde v textu příjemce je "dar od: Kajman (jpw.cz)".
Je to zvířecí útúlek starající se o opuštěná zvířata, mnoho jich tu nalezlo nový domov.

Snad Vás to potěší.
Kajman
Profil
Ano, je to možné. Změní se něco, pokud v tom pravidle vyhodíte flag DPI?
Xperia
Profil
Kajman:
Změní se něco, pokud v tom pravidle vyhodíte flag DPI?
Nic se nezměnilo
Kajman
Profil
A jak vypadá ten vnořený .htaccess?
Xperia
Profil
Vnořený .htaccess je tento:
<IfModule mod_rewrite.c>
    RewriteEngine On
#    RewriteBase /

    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>

Když si ten Váš přepíšu takto, tak to funguje jak by mělo jen to přesměrovává namísto podstrčení.
RewriteCond %{REQUEST_URI} !^/?domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(neco|jine\.cz)$
RewriteRule (.*) http://hlavnidomena.cz/web/view/%2 [L]
Kajman
Profil
Když nepůjde ani něco jako

RewriteCond %{REQUEST_URI} !^/?domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(neco\.cz)$
RewriteRule (.*) domains/mojedomena.cz [E=domena:%2,E=cesta:$1,C,DPI]
RewriteRule (.*) $1/web/view/%{ENV:domena}/%{ENV:cesta} [L]

tak bude potřeba asi větší hloubání, někde na testu si rozjet rewritelog a ověřit, zda je problém v pravidlech v .htaccess nebo v php skriptu, který není takovému podstrčení přizpůsobený.
Xperia
Profil
Mno ani to nejde, opět se to chová zrcadlově :)

Každopádně já i útúlek Ti děkujeme :)
Kajman
Profil
Zkusil bych si pustit phpinfo() v index.php přes hlavniweb.cz/web/view/neco.cz i přes neco.cz a porovnat rozdíly a kouknout, zda v těch php skriptech se ty rozdílné proměnné nevyskytují.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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