Portál AbcLinuxu, 30. května 2024 17:45


Dotaz: Jak upravit konfiguraci Apache2

29.4.2022 18:42 Jan
Jak upravit konfiguraci Apache2
Přečteno: 297×
Odpovědět | Admin
Dobrý den, v konfiguraci Apache2 mám pravidlo, které přesměruje stránky zadané ve tvaru bez www na stránky s www, poradil by mi prosím pěkně někdo, jak to pravidlo poupravit, aby přesměroval na www i všechno ostatní zadané před example.com kromě jediné subdomény www? Děkuji za pomoc.
<VirtualHost *:443>
        ServerName  www.example.com
        ServerAlias example.com

        RewriteEngine on 
        RewriteCond %{HTTP_HOST} ^example\.com$
        RewriteRule (.*) http://www.example.com/$1 [R=301]

        DocumentRoot /var/www/www.example.com
        ..
        .. 
</VirtualHost>
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.4.2022 19:19 X
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nastrel..
 RewriteCond %{HTTP_HOST} [^www]+\.example\.com$
29.4.2022 19:28 Jan
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Díky a ten řádek mám někam přidat nebo ho něčím nahradit?
29.4.2022 19:34 X
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Staci nahradit tu puvodni podminku.
29.4.2022 19:59 Jan
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Díky, tak to nepřesměruje vůbec nic, ani doménu bez www ani něco jiného :(
29.4.2022 20:45 billgates | skóre: 27
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Nieco taketo by to nemohlo byt?
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Nemam to teraz kde vyskusat, takze tam moze byt kludne nejaka chyba. Kazdopadne, dufam, ze to skusas len s https, kedze ten virtualhost pocuva len na *:443.
29.4.2022 21:20 Jan
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Ano, díky. Zkouším to pouze přes https ale taky to nejde.
29.4.2022 21:29 billgates | skóre: 27
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Divne, teraz som to skusil u seba:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^ideaz\.sk$ [NC]
RewriteRule ^(.*)$ https://www.ideaz.sk$1 [R=301,NC,L]
Ked zadam https://ideaz.sk/, tak ma to presmeruje na https://www.ideaz.sk/.

Reloadujes apache po kazdej zmene? Co mas v logu?
29.4.2022 21:46 Jan
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Ale nemáš tam jeden řádek

RewriteBase /

když ho smažu, tak mi to taky už funguje

ale jak jsem psal v dotazu, potřebuji přesměrovat i *.example.com (mimo www.example.com) na www.example.com
29.4.2022 22:11 billgates | skóre: 27
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Na to je tam to pravidlo:
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
Ja som ho nemohol pouzit, lebo mam hromadu domen tretej urovne zavesenych na tom hoste.
29.4.2022 22:18 Jan
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Rozumím, ale pokud zadám

https://example.com, tak se přesměruje na https://www.example.com

pokud zadám

https://neco.example.com, tak se to přesměruje na https://neco.www.example.com//
29.4.2022 22:25 billgates | skóre: 27
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2

Presmerovanie na neco.www.example.com sa mi teda velmi nezda, ale to si tvoj browser este moze pamatat z nejakeho predchadzajuceho pokusu, kedze robis permantnente presmerovanie. Zmaz cache svojho browsera, aby sa ti do toho nemiesali stare zapamatane presmerovania.

Kazdopadne, mozes to tam vsetko napchat natvrdo a nebabrat sa s tym:

<VirtualHost *:443>
ServerName  www.example.com
ServerAlias example.com *.example.com

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com$1 [R=301,NC,L]

DocumentRoot /var/www/www.example.com
..
..
</VirtualHost>
29.4.2022 22:39 Jan
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Tak teď se to přesměruje, problém ale ještě mám. Mám koupeny ssl certifikát na example.com a www.example.com a když zadám neco.example.com tak prohlížeč píše neplatný certifikát a pokud dám přesto stránku načíst, tak až poté se to přesměruje na www.example.com a tam už ssl certifikát je v pořádku. Nevím proč se snaží načíst tu stránku neco.example.com a proč to nepřesměruje hned. Jde s tím něco udělat? Děkuji.
29.4.2022 23:22 billgates | skóre: 27
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Bohuzial nie. Ten proces https komunikacie browseru so serverom je priblizne nasledovny:
  1. Klient robi preklad hostname na IP
  2. Klient nadviazanie spojenie na danu IP na port tcp/443
  3. Vzajomna komunikacia - zaciatok TLS spojenia, dohoda podporovanycn algoritmov, SNI-odoslanie pozadovaneho hostname od klienta
  4. Server posiela certifikat, ktory ma uvedeny vo virtualhoste pre dany hostname
  5. Klient moze prijat certifikat alebo zacat nadavat
  6. TLS spojenie nadviazane
  7. Klient posiela HTTP poziadavku (GET/POST/PUT/...) aj s celou hlavickou
  8. Server posiela HTTP odpoved, v ktorej moze byt aj kod 301 - permanentne presmerovanie
Cize vymena certifikatu prebieha skor, ako sa zacnu posielat akekolvek data suvisiace so samotnym HTTP. Ak nepouzivas TLS, tak rovno skocis z bodu 1 a 2 na bod 7. Cize tam to presmerovanie mozes urobit ako potrebujes. Ale s pouzitim TLS sa to uz zial neda. Musis si kupit certifikat na *.example.com, ak potrebujes to funkcne presmerovanie aj pre HTTPS. U starttls sa to da urobit.
30.4.2022 10:46 Jan
Rozbalit Rozbalit vše Re: Jak upravit konfiguraci Apache2
Tak jsem to na základě tvé vyčerpávající informace vyřešil tak, že jsem v DNS změnil záznam
A * IP
A @ IP
na záznam
A example.com IP
A www.example.com IP

Děkuji za tvou pomoc a tvůj čas.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.