Autor Zpráva
mafos
Profil
Dobrý den,
mám takový problém. Všimnul jsem si, že když zadám www.neco.example.com tak mě to hodí na moji hlavní stránku www.example.com. Což se mi ale vůbec nelíbí. Nechci aby třeba někdo rozšiřoval adresu www.necosprosteho.example.com. Chtěl bych toto zakázat a hodit chybu. Ale nevím jak na to. Věřím, že je to jen nějaká kravina a stačí připsat jen řádek do .htacess, ovšem nevím jaký :-( Posílám .htacess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [OR]
RewriteCond %{HTTP_HOST} ^w.example.com [OR]
RewriteCond %{HTTP_HOST} ^ww.example.com [OR]
RewriteCond %{HTTP_HOST} ^wwww.example.com
RewriteRule (.*) http://www.example.com [R=301]

Děkuji
DoubleThink
Profil *
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
mafos
Profil
Omlouvám se, že píšu až teď. Neměl jsem moc času to řešit.
Takže to funguje tak jak jsem chtěl, ale nefunguje mi to, co mi fungovalo :-( Tedy přesměrování example.com na www.example.com atd. tak jak je to v .htacess. Teď když zadám example.com tak mě to hodí do složky www.example.com/example. Což není špatně. Suprově fungují domény třetího řádu. Přesně tak jak jsem si to představoval aby fungovali domény 3. řádu, ale nefunguje zadání bez www a s popleteným www. Nevíte co bych s tím mohl dělat? Nějak si s tím nevím rady :-(
Děkuji
Davex
Profil
Svá původní pravidla smaž. DoubleThinkovo pravidlo zahrnuje i tvé vyjmenované varianty (přesměruje všechno bez www).
mafos
Profil
Právě že nefunguje :-( Smazal jsem svoje, dal jen DoubleThinkovi, ale nic. Jedná se o adresu www.3studne.cz a tedy 3studne.cz a prostě to nešlape :-(
Davex
Profil
Pokud tam nejsou žádná další pravidla, tak by to mělo fungovat. Pokud to máš na vlastním serveru, tak si u virtualhostu zapni logování přepisu, ve kterém jsou vidět postupně aplikovaná pravidla a provedené akce.
RewriteLog /var/log/apache2/3studne-rewrite.log
RewriteLogLevel 3
mafos
Profil
Jo, mám to na vlastní serveru. Teď je ale mimo provoz:-( Dělají mi nové připojení. Zkusím to tedy příští týden a ozvu se. Díky za pomoc.
mafos
Profil
Zdravím,
server už mi tedy opět běží. Posílám výpis z logu.
88.103.174.80 - - [05/Mar/2010:20:06:23 +0100] [www.3studne.cz/sid#9c03730][rid#9eb5a08/initial] (3) [perdir /mnt/disk/www/3studnecz/] add path info postfix: /mnt/disk/www/3studnecz/www/3studne -> /mnt/disk/www/3studnecz/www/3studne/
88.103.174.80 - - [05/Mar/2010:20:06:23 +0100] [www.3studne.cz/sid#9c03730][rid#9eb5a08/initial] (3) [perdir /mnt/disk/www/3studnecz/] strip per-dir prefix: /mnt/disk/www/3studnecz/www/3studne/ -> www/3studne/
88.103.174.80 - - [05/Mar/2010:20:06:23 +0100] [www.3studne.cz/sid#9c03730][rid#9eb5a08/initial] (3) [perdir /mnt/disk/www/3studnecz/] applying pattern '(.*)' to uri 'www/3studne/'
88.103.174.80 - - [05/Mar/2010:20:06:23 +0100] [www.3studne.cz/sid#9c03730][rid#9eb5a08/initial] (1) [perdir /mnt/disk/www/3studnecz/] pass through /mnt/disk/www/3studnecz/www/3studne
88.103.174.80 - - [05/Mar/2010:20:06:23 +0100] [www.3studne.cz/sid#9c03730][rid#9ec0a30/initial] (3) [perdir /mnt/disk/www/3studnecz/] strip per-dir prefix: /mnt/disk/www/3studnecz/www/favicon.ico -> www/favicon.ico
88.103.174.80 - - [05/Mar/2010:20:06:23 +0100] [www.3studne.cz/sid#9c03730][rid#9ec0a30/initial] (3) [perdir /mnt/disk/www/3studnecz/] applying pattern '(.*)' to uri 'www/favicon.ico'
88.103.174.80 - - [05/Mar/2010:20:06:23 +0100] [www.3studne.cz/sid#9c03730][rid#9ec0a30/initial] (1) [perdir /mnt/disk/www/3studnecz/] pass through /mnt/disk/www/3studnecz/www/favicon.ico

a taky radši posílám .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.3studne.cz$
RewriteRule (.*) http://www.3studne.cz/$1 [R=301,L]

Víte co by s tím mohlo být?
Děkuji
Davex
Profil
Každý řádek logu je na konci useknutý v nejzajímavějším místě. Vše před "[perdir" je v tento okamžik nepotřebné smetí.
mafos
Profil
Omlouvám se. Opravil jsem to v původním příspěvku [#8] mafos
Davex
Profil
Podle logu přistupuješ na www.3studne.cz/www/3studne/ - tam se přesměrování neuplatní, protože není splněna podmínka v RewriteCond.
mafos
Profil
Davex:
tam se přesměrování neuplatní, protože není splněna podmínka v RewriteCond.
Aha. A jak to mám tedy nastavit? Asi mám v .htaccess větší guláš než dřív :-( Myslel jsem, že to jakž takž chápu, ale už si to nemyslím.
Davex
Profil
Nevím co vlastně nefunguje, protože pravidlo v [#8] přesměruje pokaždé, když jméno serveru v URL není "www.3studne.cz". V [#3] a [#5] píšeš, že to nefunguje na jméno serveru bez www, což by mělo fungovat, ale log ukazuje jen funkční situaci pro server s www.
mafos
Profil
Jasný, když ale zadám 3studne.cz tak mě to hned hodí na http://www.3studne.cz/3studne/ . Kde samozřejmě nic není. Nebo Vám to nedělá?
Davex
Profil
Problém bude v něčem jiném, protože samostatná pravidla z [#8] toto nedělají. Vypadá to, že se to tluče s nějakými dalšími pravidly - nejsou nějaká přímo v konfiguraci webserveru nebo VirtualHostu?
mafos
Profil
Takže posílám nastavení VirtualHostu
<VirtualHost *:80>

UseCanonicalName Off
ServerName 3studne.cz
ServerAlias *.3studne.cz


VirtualDocumentRoot /mnt/disk/www/3studnecz/%1
CustomLog /var/log/apache2/sites/3studne.cz-acces.log common

<Directory /mnt/disk/www/3studnecz>
        Options FollowSymLinks
        AllowOverride All
</Directory>

RewriteLog      /var/log/apache2/sites/3studne.cz-rewrite.log
RewriteLogLevel 3
</VirtualHost>


A v konfiguraci Apache2 jsem nic neměnil. Teď jsem projížděl apache2.conf a nezdá se mi, že by tam bylo nějaký pravidlo co by to mohlo takhle přesměrovávat. Díky
Davex
Profil
Problém je na osmém řádku, kde určuješ podadresář podle první části URL. Původně je to určeno pro zjednodušení konfigurace velkého počtu domén, což nepotřebuješ, takže ho nahraď (případně si uprav cestu k souborům):
#  VirtualDocumentRoot /mnt/disk/www/3studnecz/%1
DocumentRoot  /mnt/disk/www/3studnecz/
mafos
Profil
Takže už to funguje. Jenže mi nefunguje to o co mi šlo celou dobu. Ve chvíli kdy zadám www.fjifjdsifjdsifjsddif.3studne.cz tak to hodí na stránku www.3studne.cz a to je přesně to co jsem nechtěl. Chci aby to vypsalo chybu, že stránka neexistuje. Nevíte, jak na to? Díky moc.
Davex
Profil
Tak na řádku č. 5 nedefinuj alias s hvězdičkou, ale vyjmenuj jen jména, která mají fungovat a v DNS to samé - nastav pouze CNAME nebo A záznamy, které mají fungovat a nepoužívej žolíky.
mafos
Profil
Už to šlape :-) Díky. Jsem to tak měl dřív nastavený, pak jsem si ale říkal, že by možná bylo dobrý mít to ošéfovaný i na domény 3. řádu atd. a byl jsem rád, že to tak šlape. Teď se mi to ale přestalo líbit a zapomněl jsem, že jsem to nastavoval tak, aby to běželo. No důvody proč jsem to dělal jsou složitý.Na týhle doméně to prostě nebylo žádoucí a jsem rád, že jste mi to pomohl vyřešit. Díky

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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